Compare commits
2 Commits
develop-20
...
bugfix/env
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1c6bb8cfc3 | ||
|
|
9244ecacf0 |
@@ -916,9 +916,9 @@ function, as shown in the example below:
|
||||
.. code-block:: yaml
|
||||
|
||||
projections:
|
||||
zlib: "{name}-{version}"
|
||||
^mpi: "{name}-{version}/{^mpi.name}-{^mpi.version}-{compiler.name}-{compiler.version}"
|
||||
all: "{name}-{version}/{compiler.name}-{compiler.version}"
|
||||
zlib: {name}-{version}
|
||||
^mpi: {name}-{version}/{^mpi.name}-{^mpi.version}-{compiler.name}-{compiler.version}
|
||||
all: {name}-{version}/{compiler.name}-{compiler.version}
|
||||
|
||||
The entries in the projections configuration file must all be either
|
||||
specs or the keyword ``all``. For each spec, the projection used will
|
||||
|
||||
428
lib/spack/env/cc
vendored
428
lib/spack/env/cc
vendored
@@ -416,14 +416,30 @@ input_command="$*"
|
||||
# The lists are all bell-separated to be as flexible as possible, as their
|
||||
# contents may come from the command line, from ' '-separated lists,
|
||||
# ':'-separated lists, etc.
|
||||
include_dirs_list=""
|
||||
lib_dirs_list=""
|
||||
rpath_dirs_list=""
|
||||
system_include_dirs_list=""
|
||||
system_lib_dirs_list=""
|
||||
system_rpath_dirs_list=""
|
||||
isystem_system_include_dirs_list=""
|
||||
isystem_include_dirs_list=""
|
||||
libs_list=""
|
||||
other_args_list=""
|
||||
|
||||
# Global state for keeping track of -Wl,-rpath -Wl,/path
|
||||
wl_expect_rpath=no
|
||||
|
||||
# Same, but for -Xlinker -rpath -Xlinker /path
|
||||
xlinker_expect_rpath=no
|
||||
|
||||
parse_Wl() {
|
||||
while [ $# -ne 0 ]; do
|
||||
if [ "$wl_expect_rpath" = yes ]; then
|
||||
if system_dir "$1"; then
|
||||
append return_system_rpath_dirs_list "$1"
|
||||
append system_rpath_dirs_list "$1"
|
||||
else
|
||||
append return_rpath_dirs_list "$1"
|
||||
append rpath_dirs_list "$1"
|
||||
fi
|
||||
wl_expect_rpath=no
|
||||
else
|
||||
@@ -433,9 +449,9 @@ parse_Wl() {
|
||||
if [ -z "$arg" ]; then
|
||||
shift; continue
|
||||
elif system_dir "$arg"; then
|
||||
append return_system_rpath_dirs_list "$arg"
|
||||
append system_rpath_dirs_list "$arg"
|
||||
else
|
||||
append return_rpath_dirs_list "$arg"
|
||||
append rpath_dirs_list "$arg"
|
||||
fi
|
||||
;;
|
||||
--rpath=*)
|
||||
@@ -443,9 +459,9 @@ parse_Wl() {
|
||||
if [ -z "$arg" ]; then
|
||||
shift; continue
|
||||
elif system_dir "$arg"; then
|
||||
append return_system_rpath_dirs_list "$arg"
|
||||
append system_rpath_dirs_list "$arg"
|
||||
else
|
||||
append return_rpath_dirs_list "$arg"
|
||||
append rpath_dirs_list "$arg"
|
||||
fi
|
||||
;;
|
||||
-rpath|--rpath)
|
||||
@@ -459,7 +475,7 @@ parse_Wl() {
|
||||
return 1
|
||||
;;
|
||||
*)
|
||||
append return_other_args_list "-Wl,$1"
|
||||
append other_args_list "-Wl,$1"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
@@ -467,210 +483,177 @@ parse_Wl() {
|
||||
done
|
||||
}
|
||||
|
||||
categorize_arguments() {
|
||||
|
||||
unset IFS
|
||||
while [ $# -ne 0 ]; do
|
||||
|
||||
return_other_args_list=""
|
||||
return_isystem_was_used=""
|
||||
return_isystem_system_include_dirs_list=""
|
||||
return_isystem_include_dirs_list=""
|
||||
return_system_include_dirs_list=""
|
||||
return_include_dirs_list=""
|
||||
return_system_lib_dirs_list=""
|
||||
return_lib_dirs_list=""
|
||||
return_system_rpath_dirs_list=""
|
||||
return_rpath_dirs_list=""
|
||||
# an RPATH to be added after the case statement.
|
||||
rp=""
|
||||
|
||||
# Global state for keeping track of -Wl,-rpath -Wl,/path
|
||||
wl_expect_rpath=no
|
||||
# Multiple consecutive spaces in the command line can
|
||||
# result in blank arguments
|
||||
if [ -z "$1" ]; then
|
||||
shift
|
||||
continue
|
||||
fi
|
||||
|
||||
# Same, but for -Xlinker -rpath -Xlinker /path
|
||||
xlinker_expect_rpath=no
|
||||
|
||||
while [ $# -ne 0 ]; do
|
||||
|
||||
# an RPATH to be added after the case statement.
|
||||
rp=""
|
||||
|
||||
# Multiple consecutive spaces in the command line can
|
||||
# result in blank arguments
|
||||
if [ -z "$1" ]; then
|
||||
shift
|
||||
continue
|
||||
fi
|
||||
|
||||
if [ -n "${SPACK_COMPILER_FLAGS_KEEP}" ] ; then
|
||||
# NOTE: the eval is required to allow `|` alternatives inside the variable
|
||||
eval "\
|
||||
case \"\$1\" in
|
||||
$SPACK_COMPILER_FLAGS_KEEP)
|
||||
append return_other_args_list \"\$1\"
|
||||
shift
|
||||
continue
|
||||
;;
|
||||
esac
|
||||
"
|
||||
fi
|
||||
# the replace list is a space-separated list of pipe-separated pairs,
|
||||
# the first in each pair is the original prefix to be matched, the
|
||||
# second is the replacement prefix
|
||||
if [ -n "${SPACK_COMPILER_FLAGS_REPLACE}" ] ; then
|
||||
for rep in ${SPACK_COMPILER_FLAGS_REPLACE} ; do
|
||||
before=${rep%|*}
|
||||
after=${rep#*|}
|
||||
eval "\
|
||||
stripped=\"\${1##$before}\"
|
||||
"
|
||||
if [ "$stripped" = "$1" ] ; then
|
||||
continue
|
||||
fi
|
||||
|
||||
replaced="$after$stripped"
|
||||
|
||||
# it matched, remove it
|
||||
if [ -n "${SPACK_COMPILER_FLAGS_KEEP}" ] ; then
|
||||
# NOTE: the eval is required to allow `|` alternatives inside the variable
|
||||
eval "\
|
||||
case \"\$1\" in
|
||||
$SPACK_COMPILER_FLAGS_KEEP)
|
||||
append other_args_list \"\$1\"
|
||||
shift
|
||||
|
||||
if [ -z "$replaced" ] ; then
|
||||
# completely removed, continue OUTER loop
|
||||
continue 2
|
||||
fi
|
||||
|
||||
# re-build argument list with replacement
|
||||
set -- "$replaced" "$@"
|
||||
done
|
||||
fi
|
||||
|
||||
case "$1" in
|
||||
-isystem*)
|
||||
arg="${1#-isystem}"
|
||||
return_isystem_was_used=true
|
||||
if [ -z "$arg" ]; then shift; arg="$1"; fi
|
||||
if system_dir "$arg"; then
|
||||
append return_isystem_system_include_dirs_list "$arg"
|
||||
else
|
||||
append return_isystem_include_dirs_list "$arg"
|
||||
fi
|
||||
;;
|
||||
-I*)
|
||||
arg="${1#-I}"
|
||||
if [ -z "$arg" ]; then shift; arg="$1"; fi
|
||||
if system_dir "$arg"; then
|
||||
append return_system_include_dirs_list "$arg"
|
||||
else
|
||||
append return_include_dirs_list "$arg"
|
||||
fi
|
||||
;;
|
||||
-L*)
|
||||
arg="${1#-L}"
|
||||
if [ -z "$arg" ]; then shift; arg="$1"; fi
|
||||
if system_dir "$arg"; then
|
||||
append return_system_lib_dirs_list "$arg"
|
||||
else
|
||||
append return_lib_dirs_list "$arg"
|
||||
fi
|
||||
;;
|
||||
-l*)
|
||||
# -loopopt=0 is generated erroneously in autoconf <= 2.69,
|
||||
# and passed by ifx to the linker, which confuses it with a
|
||||
# library. Filter it out.
|
||||
# TODO: generalize filtering of args with an env var, so that
|
||||
# TODO: we do not have to special case this here.
|
||||
if { [ "$mode" = "ccld" ] || [ $mode = "ld" ]; } \
|
||||
&& [ "$1" != "${1#-loopopt}" ]; then
|
||||
shift
|
||||
continue
|
||||
fi
|
||||
arg="${1#-l}"
|
||||
if [ -z "$arg" ]; then shift; arg="$1"; fi
|
||||
append return_other_args_list "-l$arg"
|
||||
;;
|
||||
-Wl,*)
|
||||
IFS=,
|
||||
if ! parse_Wl ${1#-Wl,}; then
|
||||
append return_other_args_list "$1"
|
||||
fi
|
||||
unset IFS
|
||||
;;
|
||||
-Xlinker)
|
||||
shift
|
||||
if [ $# -eq 0 ]; then
|
||||
# -Xlinker without value: let the compiler error about it.
|
||||
append return_other_args_list -Xlinker
|
||||
xlinker_expect_rpath=no
|
||||
break
|
||||
elif [ "$xlinker_expect_rpath" = yes ]; then
|
||||
# Register the path of -Xlinker -rpath <other args> -Xlinker <path>
|
||||
if system_dir "$1"; then
|
||||
append return_system_rpath_dirs_list "$1"
|
||||
else
|
||||
append return_rpath_dirs_list "$1"
|
||||
fi
|
||||
xlinker_expect_rpath=no
|
||||
else
|
||||
case "$1" in
|
||||
-rpath=*)
|
||||
arg="${1#-rpath=}"
|
||||
if system_dir "$arg"; then
|
||||
append return_system_rpath_dirs_list "$arg"
|
||||
else
|
||||
append return_rpath_dirs_list "$arg"
|
||||
fi
|
||||
;;
|
||||
--rpath=*)
|
||||
arg="${1#--rpath=}"
|
||||
if system_dir "$arg"; then
|
||||
append return_system_rpath_dirs_list "$arg"
|
||||
else
|
||||
append return_rpath_dirs_list "$arg"
|
||||
fi
|
||||
;;
|
||||
-rpath|--rpath)
|
||||
xlinker_expect_rpath=yes
|
||||
;;
|
||||
"$dtags_to_strip")
|
||||
;;
|
||||
*)
|
||||
append return_other_args_list -Xlinker
|
||||
append return_other_args_list "$1"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
;;
|
||||
"$dtags_to_strip")
|
||||
;;
|
||||
*)
|
||||
append return_other_args_list "$1"
|
||||
continue
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
"
|
||||
fi
|
||||
# the replace list is a space-separated list of pipe-separated pairs,
|
||||
# the first in each pair is the original prefix to be matched, the
|
||||
# second is the replacement prefix
|
||||
if [ -n "${SPACK_COMPILER_FLAGS_REPLACE}" ] ; then
|
||||
for rep in ${SPACK_COMPILER_FLAGS_REPLACE} ; do
|
||||
before=${rep%|*}
|
||||
after=${rep#*|}
|
||||
eval "\
|
||||
stripped=\"\${1##$before}\"
|
||||
"
|
||||
if [ "$stripped" = "$1" ] ; then
|
||||
continue
|
||||
fi
|
||||
|
||||
# We found `-Xlinker -rpath` but no matching value `-Xlinker /path`. Just append
|
||||
# `-Xlinker -rpath` again and let the compiler or linker handle the error during arg
|
||||
# parsing.
|
||||
if [ "$xlinker_expect_rpath" = yes ]; then
|
||||
append return_other_args_list -Xlinker
|
||||
append return_other_args_list -rpath
|
||||
replaced="$after$stripped"
|
||||
|
||||
# it matched, remove it
|
||||
shift
|
||||
|
||||
if [ -z "$replaced" ] ; then
|
||||
# completely removed, continue OUTER loop
|
||||
continue 2
|
||||
fi
|
||||
|
||||
# re-build argument list with replacement
|
||||
set -- "$replaced" "$@"
|
||||
done
|
||||
fi
|
||||
|
||||
# Same, but for -Wl flags.
|
||||
if [ "$wl_expect_rpath" = yes ]; then
|
||||
append return_other_args_list -Wl,-rpath
|
||||
fi
|
||||
}
|
||||
case "$1" in
|
||||
-isystem*)
|
||||
arg="${1#-isystem}"
|
||||
isystem_was_used=true
|
||||
if [ -z "$arg" ]; then shift; arg="$1"; fi
|
||||
if system_dir "$arg"; then
|
||||
append isystem_system_include_dirs_list "$arg"
|
||||
else
|
||||
append isystem_include_dirs_list "$arg"
|
||||
fi
|
||||
;;
|
||||
-I*)
|
||||
arg="${1#-I}"
|
||||
if [ -z "$arg" ]; then shift; arg="$1"; fi
|
||||
if system_dir "$arg"; then
|
||||
append system_include_dirs_list "$arg"
|
||||
else
|
||||
append include_dirs_list "$arg"
|
||||
fi
|
||||
;;
|
||||
-L*)
|
||||
arg="${1#-L}"
|
||||
if [ -z "$arg" ]; then shift; arg="$1"; fi
|
||||
if system_dir "$arg"; then
|
||||
append system_lib_dirs_list "$arg"
|
||||
else
|
||||
append lib_dirs_list "$arg"
|
||||
fi
|
||||
;;
|
||||
-l*)
|
||||
# -loopopt=0 is generated erroneously in autoconf <= 2.69,
|
||||
# and passed by ifx to the linker, which confuses it with a
|
||||
# library. Filter it out.
|
||||
# TODO: generalize filtering of args with an env var, so that
|
||||
# TODO: we do not have to special case this here.
|
||||
if { [ "$mode" = "ccld" ] || [ $mode = "ld" ]; } \
|
||||
&& [ "$1" != "${1#-loopopt}" ]; then
|
||||
shift
|
||||
continue
|
||||
fi
|
||||
arg="${1#-l}"
|
||||
if [ -z "$arg" ]; then shift; arg="$1"; fi
|
||||
append other_args_list "-l$arg"
|
||||
;;
|
||||
-Wl,*)
|
||||
IFS=,
|
||||
if ! parse_Wl ${1#-Wl,}; then
|
||||
append other_args_list "$1"
|
||||
fi
|
||||
unset IFS
|
||||
;;
|
||||
-Xlinker)
|
||||
shift
|
||||
if [ $# -eq 0 ]; then
|
||||
# -Xlinker without value: let the compiler error about it.
|
||||
append other_args_list -Xlinker
|
||||
xlinker_expect_rpath=no
|
||||
break
|
||||
elif [ "$xlinker_expect_rpath" = yes ]; then
|
||||
# Register the path of -Xlinker -rpath <other args> -Xlinker <path>
|
||||
if system_dir "$1"; then
|
||||
append system_rpath_dirs_list "$1"
|
||||
else
|
||||
append rpath_dirs_list "$1"
|
||||
fi
|
||||
xlinker_expect_rpath=no
|
||||
else
|
||||
case "$1" in
|
||||
-rpath=*)
|
||||
arg="${1#-rpath=}"
|
||||
if system_dir "$arg"; then
|
||||
append system_rpath_dirs_list "$arg"
|
||||
else
|
||||
append rpath_dirs_list "$arg"
|
||||
fi
|
||||
;;
|
||||
--rpath=*)
|
||||
arg="${1#--rpath=}"
|
||||
if system_dir "$arg"; then
|
||||
append system_rpath_dirs_list "$arg"
|
||||
else
|
||||
append rpath_dirs_list "$arg"
|
||||
fi
|
||||
;;
|
||||
-rpath|--rpath)
|
||||
xlinker_expect_rpath=yes
|
||||
;;
|
||||
"$dtags_to_strip")
|
||||
;;
|
||||
*)
|
||||
append other_args_list -Xlinker
|
||||
append other_args_list "$1"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
;;
|
||||
"$dtags_to_strip")
|
||||
;;
|
||||
*)
|
||||
append other_args_list "$1"
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
categorize_arguments "$@"
|
||||
include_dirs_list="$return_include_dirs_list"
|
||||
lib_dirs_list="$return_lib_dirs_list"
|
||||
rpath_dirs_list="$return_rpath_dirs_list"
|
||||
system_include_dirs_list="$return_system_include_dirs_list"
|
||||
system_lib_dirs_list="$return_system_lib_dirs_list"
|
||||
system_rpath_dirs_list="$return_system_rpath_dirs_list"
|
||||
isystem_was_used="$return_isystem_was_used"
|
||||
isystem_system_include_dirs_list="$return_isystem_system_include_dirs_list"
|
||||
isystem_include_dirs_list="$return_isystem_include_dirs_list"
|
||||
other_args_list="$return_other_args_list"
|
||||
# We found `-Xlinker -rpath` but no matching value `-Xlinker /path`. Just append
|
||||
# `-Xlinker -rpath` again and let the compiler or linker handle the error during arg
|
||||
# parsing.
|
||||
if [ "$xlinker_expect_rpath" = yes ]; then
|
||||
append other_args_list -Xlinker
|
||||
append other_args_list -rpath
|
||||
fi
|
||||
|
||||
# Same, but for -Wl flags.
|
||||
if [ "$wl_expect_rpath" = yes ]; then
|
||||
append other_args_list -Wl,-rpath
|
||||
fi
|
||||
|
||||
#
|
||||
# Add flags from Spack's cppflags, cflags, cxxflags, fcflags, fflags, and
|
||||
@@ -690,14 +673,12 @@ elif [ "$SPACK_ADD_DEBUG_FLAGS" = "custom" ]; then
|
||||
extend flags_list SPACK_DEBUG_FLAGS
|
||||
fi
|
||||
|
||||
spack_flags_list=""
|
||||
|
||||
# Fortran flags come before CPPFLAGS
|
||||
case "$mode" in
|
||||
cc|ccld)
|
||||
case $lang_flags in
|
||||
F)
|
||||
extend spack_flags_list SPACK_FFLAGS
|
||||
extend flags_list SPACK_FFLAGS
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
@@ -706,7 +687,7 @@ esac
|
||||
# C preprocessor flags come before any C/CXX flags
|
||||
case "$mode" in
|
||||
cpp|as|cc|ccld)
|
||||
extend spack_flags_list SPACK_CPPFLAGS
|
||||
extend flags_list SPACK_CPPFLAGS
|
||||
;;
|
||||
esac
|
||||
|
||||
@@ -716,10 +697,10 @@ case "$mode" in
|
||||
cc|ccld)
|
||||
case $lang_flags in
|
||||
C)
|
||||
extend spack_flags_list SPACK_CFLAGS
|
||||
extend flags_list SPACK_CFLAGS
|
||||
;;
|
||||
CXX)
|
||||
extend spack_flags_list SPACK_CXXFLAGS
|
||||
extend flags_list SPACK_CXXFLAGS
|
||||
;;
|
||||
esac
|
||||
|
||||
@@ -731,25 +712,10 @@ esac
|
||||
# Linker flags
|
||||
case "$mode" in
|
||||
ld|ccld)
|
||||
extend spack_flags_list SPACK_LDFLAGS
|
||||
extend flags_list SPACK_LDFLAGS
|
||||
;;
|
||||
esac
|
||||
|
||||
IFS="$lsep"
|
||||
categorize_arguments $spack_flags_list
|
||||
unset IFS
|
||||
spack_flags_include_dirs_list="$return_include_dirs_list"
|
||||
spack_flags_lib_dirs_list="$return_lib_dirs_list"
|
||||
spack_flags_rpath_dirs_list="$return_rpath_dirs_list"
|
||||
spack_flags_system_include_dirs_list="$return_system_include_dirs_list"
|
||||
spack_flags_system_lib_dirs_list="$return_system_lib_dirs_list"
|
||||
spack_flags_system_rpath_dirs_list="$return_system_rpath_dirs_list"
|
||||
spack_flags_isystem_was_used="$return_isystem_was_used"
|
||||
spack_flags_isystem_system_include_dirs_list="$return_isystem_system_include_dirs_list"
|
||||
spack_flags_isystem_include_dirs_list="$return_isystem_include_dirs_list"
|
||||
spack_flags_other_args_list="$return_other_args_list"
|
||||
|
||||
|
||||
# On macOS insert headerpad_max_install_names linker flag
|
||||
if [ "$mode" = ld ] || [ "$mode" = ccld ]; then
|
||||
if [ "${SPACK_SHORT_SPEC#*darwin}" != "${SPACK_SHORT_SPEC}" ]; then
|
||||
@@ -775,8 +741,6 @@ if [ "$mode" = ccld ] || [ "$mode" = ld ]; then
|
||||
extend lib_dirs_list SPACK_LINK_DIRS
|
||||
fi
|
||||
|
||||
libs_list=""
|
||||
|
||||
# add RPATHs if we're in in any linking mode
|
||||
case "$mode" in
|
||||
ld|ccld)
|
||||
@@ -805,16 +769,12 @@ args_list="$flags_list"
|
||||
|
||||
# Insert include directories just prior to any system include directories
|
||||
# NOTE: adding ${lsep} to the prefix here turns every added element into two
|
||||
extend args_list spack_flags_include_dirs_list "-I"
|
||||
extend args_list include_dirs_list "-I"
|
||||
extend args_list spack_flags_isystem_include_dirs_list "-isystem${lsep}"
|
||||
extend args_list isystem_include_dirs_list "-isystem${lsep}"
|
||||
|
||||
case "$mode" in
|
||||
cpp|cc|as|ccld)
|
||||
if [ "$spack_flags_isystem_was_used" = "true" ]; then
|
||||
extend args_list SPACK_INCLUDE_DIRS "-isystem${lsep}"
|
||||
elif [ "$isystem_was_used" = "true" ]; then
|
||||
if [ "$isystem_was_used" = "true" ]; then
|
||||
extend args_list SPACK_INCLUDE_DIRS "-isystem${lsep}"
|
||||
else
|
||||
extend args_list SPACK_INCLUDE_DIRS "-I"
|
||||
@@ -822,15 +782,11 @@ case "$mode" in
|
||||
;;
|
||||
esac
|
||||
|
||||
extend args_list spack_flags_system_include_dirs_list -I
|
||||
extend args_list system_include_dirs_list -I
|
||||
extend args_list spack_flags_isystem_system_include_dirs_list "-isystem${lsep}"
|
||||
extend args_list isystem_system_include_dirs_list "-isystem${lsep}"
|
||||
|
||||
# Library search paths
|
||||
extend args_list spack_flags_lib_dirs_list "-L"
|
||||
extend args_list lib_dirs_list "-L"
|
||||
extend args_list spack_flags_system_lib_dirs_list "-L"
|
||||
extend args_list system_lib_dirs_list "-L"
|
||||
|
||||
# RPATHs arguments
|
||||
@@ -839,25 +795,20 @@ case "$mode" in
|
||||
if [ -n "$dtags_to_add" ] ; then
|
||||
append args_list "$linker_arg$dtags_to_add"
|
||||
fi
|
||||
extend args_list spack_flags_rpath_dirs_list "$rpath"
|
||||
extend args_list rpath_dirs_list "$rpath"
|
||||
extend args_list spack_flags_system_rpath_dirs_list "$rpath"
|
||||
extend args_list system_rpath_dirs_list "$rpath"
|
||||
;;
|
||||
ld)
|
||||
if [ -n "$dtags_to_add" ] ; then
|
||||
append args_list "$dtags_to_add"
|
||||
fi
|
||||
extend args_list spack_flags_rpath_dirs_list "-rpath${lsep}"
|
||||
extend args_list rpath_dirs_list "-rpath${lsep}"
|
||||
extend args_list spack_flags_system_rpath_dirs_list "-rpath${lsep}"
|
||||
extend args_list system_rpath_dirs_list "-rpath${lsep}"
|
||||
;;
|
||||
esac
|
||||
|
||||
# Other arguments from the input command
|
||||
extend args_list other_args_list
|
||||
extend args_list spack_flags_other_args_list
|
||||
|
||||
# Inject SPACK_LDLIBS, if supplied
|
||||
extend args_list libs_list "-l"
|
||||
@@ -913,4 +864,3 @@ fi
|
||||
# Execute the full command, preserving spaces with IFS set
|
||||
# to the alarm bell separator.
|
||||
IFS="$lsep"; exec $full_command_list
|
||||
|
||||
|
||||
@@ -121,7 +121,7 @@ def setup_run_environment(self, env):
|
||||
$ source {prefix}/{component}/{version}/env/vars.sh
|
||||
"""
|
||||
# Only if environment modifications are desired (default is +envmods)
|
||||
if "~envmods" not in self.spec:
|
||||
if "+envmods" in self.spec:
|
||||
env.extend(
|
||||
EnvironmentModifications.from_sourcing_file(
|
||||
join_path(self.component_prefix, "env", "vars.sh")
|
||||
|
||||
@@ -224,20 +224,20 @@ def setup_parser(subparser):
|
||||
# Sync buildcache entries from one mirror to another
|
||||
sync = subparsers.add_parser("sync", help=sync_fn.__doc__)
|
||||
sync.add_argument(
|
||||
"--manifest-glob", help="A quoted glob pattern identifying copy manifest files"
|
||||
"--manifest-glob",
|
||||
default=None,
|
||||
help="A quoted glob pattern identifying copy manifest files",
|
||||
)
|
||||
sync.add_argument(
|
||||
"src_mirror",
|
||||
metavar="source mirror",
|
||||
type=arguments.mirror_name_or_url,
|
||||
nargs="?",
|
||||
help="Source mirror name, path, or URL",
|
||||
)
|
||||
sync.add_argument(
|
||||
"dest_mirror",
|
||||
metavar="destination mirror",
|
||||
type=arguments.mirror_name_or_url,
|
||||
nargs="?",
|
||||
help="Destination mirror name, path, or URL",
|
||||
)
|
||||
sync.set_defaults(func=sync_fn)
|
||||
@@ -557,9 +557,6 @@ def sync_fn(args):
|
||||
manifest_copy(glob.glob(args.manifest_glob))
|
||||
return 0
|
||||
|
||||
if args.src_mirror is None or args.dest_mirror is None:
|
||||
tty.die("Provide mirrors to sync from and to.")
|
||||
|
||||
src_mirror = args.src_mirror
|
||||
dest_mirror = args.dest_mirror
|
||||
|
||||
|
||||
@@ -2380,17 +2380,28 @@ def _concretize_from_constraints(spec_constraints, tests=False):
|
||||
# Accept only valid constraints from list and concretize spec
|
||||
# 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."
|
||||
raise InvalidSpecConstraintError(m)
|
||||
spec_constraints.remove(root_spec[0])
|
||||
hash_spec = [s for s in spec_constraints if s.abstract_hash]
|
||||
|
||||
error_message = "The constraints %s are not a valid spec " % spec_constraints
|
||||
error_message += "concretization target. all specs must have a single name "
|
||||
error_message += "constraint for concretization."
|
||||
|
||||
if len(root_spec) > 1:
|
||||
raise InvalidSpecConstraintError(error_message)
|
||||
|
||||
if len(root_spec) < 1:
|
||||
if len(hash_spec) < 1:
|
||||
raise InvalidSpecConstraintError(error_message)
|
||||
|
||||
if root_spec:
|
||||
spec_constraints.remove(root_spec[0])
|
||||
|
||||
root_spec = root_spec[0] if root_spec else Spec()
|
||||
|
||||
invalid_constraints = []
|
||||
while True:
|
||||
# Attach all anonymous constraints to one named spec
|
||||
s = root_spec[0].copy()
|
||||
s = root_spec.copy()
|
||||
for c in spec_constraints:
|
||||
if c not in invalid_constraints:
|
||||
s.constrain(c)
|
||||
|
||||
@@ -676,7 +676,7 @@ def is_relocatable(spec):
|
||||
Raises:
|
||||
ValueError: if the spec is not installed
|
||||
"""
|
||||
if not spec.installed:
|
||||
if not spec.install_status():
|
||||
raise ValueError("spec is not installed [{0}]".format(str(spec)))
|
||||
|
||||
if spec.external or spec.virtual:
|
||||
|
||||
@@ -50,7 +50,6 @@
|
||||
"""
|
||||
import collections
|
||||
import collections.abc
|
||||
import enum
|
||||
import io
|
||||
import itertools
|
||||
import os
|
||||
@@ -174,16 +173,6 @@
|
||||
SPECFILE_FORMAT_VERSION = 4
|
||||
|
||||
|
||||
# InstallStatus is used to map install statuses to symbols for display
|
||||
# Options are artificially disjoint for dispay purposes
|
||||
class InstallStatus(enum.Enum):
|
||||
installed = "@g{[+]} "
|
||||
upstream = "@g{[^]} "
|
||||
external = "@g{[e]} "
|
||||
absent = "@K{ - } "
|
||||
missing = "@r{[-]} "
|
||||
|
||||
|
||||
def colorize_spec(spec):
|
||||
"""Returns a spec colorized according to the colors specified in
|
||||
color_formats."""
|
||||
@@ -4492,20 +4481,12 @@ def __str__(self):
|
||||
def install_status(self):
|
||||
"""Helper for tree to print DB install status."""
|
||||
if not self.concrete:
|
||||
return InstallStatus.absent
|
||||
|
||||
if self.external:
|
||||
return InstallStatus.external
|
||||
|
||||
upstream, record = spack.store.db.query_by_spec_hash(self.dag_hash())
|
||||
if not record:
|
||||
return InstallStatus.absent
|
||||
elif upstream and record.installed:
|
||||
return InstallStatus.upstream
|
||||
elif record.installed:
|
||||
return InstallStatus.installed
|
||||
else:
|
||||
return InstallStatus.missing
|
||||
return None
|
||||
try:
|
||||
record = spack.store.db.get_record(self)
|
||||
return record.installed
|
||||
except KeyError:
|
||||
return None
|
||||
|
||||
def _installed_explicitly(self):
|
||||
"""Helper for tree to print DB install status."""
|
||||
@@ -4519,10 +4500,7 @@ def _installed_explicitly(self):
|
||||
|
||||
def tree(self, **kwargs):
|
||||
"""Prints out this spec and its dependencies, tree-formatted
|
||||
with indentation.
|
||||
|
||||
Status function may either output a boolean or an InstallStatus
|
||||
"""
|
||||
with indentation."""
|
||||
color = kwargs.pop("color", clr.get_color_when())
|
||||
depth = kwargs.pop("depth", False)
|
||||
hashes = kwargs.pop("hashes", False)
|
||||
@@ -4554,12 +4532,14 @@ def tree(self, **kwargs):
|
||||
|
||||
if status_fn:
|
||||
status = status_fn(node)
|
||||
if status in list(InstallStatus):
|
||||
out += clr.colorize(status.value, color=color)
|
||||
if node.installed_upstream:
|
||||
out += clr.colorize("@g{[^]} ", color=color)
|
||||
elif status is None:
|
||||
out += clr.colorize("@K{ - } ", color=color) # !installed
|
||||
elif status:
|
||||
out += clr.colorize("@g{[+]} ", color=color)
|
||||
out += clr.colorize("@g{[+]} ", color=color) # installed
|
||||
else:
|
||||
out += clr.colorize("@r{[-]} ", color=color)
|
||||
out += clr.colorize("@r{[-]} ", color=color) # missing
|
||||
|
||||
if hashes:
|
||||
out += clr.colorize("@K{%s} ", color=color) % node.dag_hash(hlen)
|
||||
|
||||
@@ -173,7 +173,7 @@ def wrapper_environment(working_env):
|
||||
SPACK_DTAGS_TO_ADD="--disable-new-dtags",
|
||||
SPACK_DTAGS_TO_STRIP="--enable-new-dtags",
|
||||
SPACK_COMPILER_FLAGS_KEEP="",
|
||||
SPACK_COMPILER_FLAGS_REPLACE="-Werror*|",
|
||||
SPACK_COMPILER_FLAGS_REPLACE="-Werror*",
|
||||
):
|
||||
yield
|
||||
|
||||
@@ -278,8 +278,8 @@ def test_ld_flags(wrapper_environment, wrapper_flags):
|
||||
ld,
|
||||
test_args,
|
||||
["ld"]
|
||||
+ spack_ldflags
|
||||
+ test_include_paths
|
||||
+ [spack_ldflags[i] + spack_ldflags[i + 1] for i in range(0, len(spack_ldflags), 2)]
|
||||
+ test_library_paths
|
||||
+ ["--disable-new-dtags"]
|
||||
+ test_rpaths
|
||||
@@ -293,10 +293,10 @@ def test_cpp_flags(wrapper_environment, wrapper_flags):
|
||||
cpp,
|
||||
test_args,
|
||||
["cpp"]
|
||||
+ spack_cppflags
|
||||
+ test_include_paths
|
||||
+ test_library_paths
|
||||
+ test_args_without_paths
|
||||
+ spack_cppflags,
|
||||
+ test_args_without_paths,
|
||||
)
|
||||
|
||||
|
||||
@@ -306,14 +306,10 @@ def test_cc_flags(wrapper_environment, wrapper_flags):
|
||||
test_args,
|
||||
[real_cc]
|
||||
+ target_args
|
||||
+ test_include_paths
|
||||
+ [spack_ldflags[i] + spack_ldflags[i + 1] for i in range(0, len(spack_ldflags), 2)]
|
||||
+ test_library_paths
|
||||
+ ["-Wl,--disable-new-dtags"]
|
||||
+ test_wl_rpaths
|
||||
+ test_args_without_paths
|
||||
+ spack_cppflags
|
||||
+ spack_cflags
|
||||
+ spack_ldflags
|
||||
+ common_compile_args
|
||||
+ spack_ldlibs,
|
||||
)
|
||||
|
||||
@@ -324,13 +320,10 @@ def test_cxx_flags(wrapper_environment, wrapper_flags):
|
||||
test_args,
|
||||
[real_cc]
|
||||
+ target_args
|
||||
+ test_include_paths
|
||||
+ [spack_ldflags[i] + spack_ldflags[i + 1] for i in range(0, len(spack_ldflags), 2)]
|
||||
+ test_library_paths
|
||||
+ ["-Wl,--disable-new-dtags"]
|
||||
+ test_wl_rpaths
|
||||
+ test_args_without_paths
|
||||
+ spack_cppflags
|
||||
+ spack_cxxflags
|
||||
+ spack_ldflags
|
||||
+ common_compile_args
|
||||
+ spack_ldlibs,
|
||||
)
|
||||
|
||||
@@ -341,14 +334,10 @@ def test_fc_flags(wrapper_environment, wrapper_flags):
|
||||
test_args,
|
||||
[real_cc]
|
||||
+ target_args
|
||||
+ test_include_paths
|
||||
+ [spack_ldflags[i] + spack_ldflags[i + 1] for i in range(0, len(spack_ldflags), 2)]
|
||||
+ test_library_paths
|
||||
+ ["-Wl,--disable-new-dtags"]
|
||||
+ test_wl_rpaths
|
||||
+ test_args_without_paths
|
||||
+ spack_fflags
|
||||
+ spack_cppflags
|
||||
+ spack_ldflags
|
||||
+ common_compile_args
|
||||
+ spack_ldlibs,
|
||||
)
|
||||
|
||||
|
||||
@@ -2402,6 +2402,21 @@ def test_env_activate_default_view_root_unconditional(mutable_mock_env_path):
|
||||
)
|
||||
|
||||
|
||||
@pytest.mark.regression("38510")
|
||||
def test_concretize_separately_abstract_hash(install_mockery, mock_fetch):
|
||||
"""Check that a root can have no name if it has a hash."""
|
||||
s = Spec("trivial-install-test-package").concretized()
|
||||
install(str(s))
|
||||
|
||||
e = ev.create("test")
|
||||
e.unify = False
|
||||
|
||||
e.add(f"/{s.dag_hash()}")
|
||||
e.concretize()
|
||||
|
||||
assert list(e.concretized_specs()) == [(Spec(f"/{s.dag_hash()}"), s)]
|
||||
|
||||
|
||||
def test_concretize_user_specs_together():
|
||||
e = ev.create("coconcretization")
|
||||
e.unify = True
|
||||
|
||||
@@ -337,15 +337,15 @@ def test_remove_complex_package_logic_filtered():
|
||||
("grads", "rrlmwml3f2frdnqavmro3ias66h5b2ce"),
|
||||
("llvm", "nufffum5dabmaf4l5tpfcblnbfjknvd3"),
|
||||
# has @when("@4.1.0") and raw unicode literals
|
||||
("mfem", "lbhr43gm5zdye2yhqznucxb4sg6vhryl"),
|
||||
("mfem@4.0.0", "lbhr43gm5zdye2yhqznucxb4sg6vhryl"),
|
||||
("mfem@4.1.0", "vjdjdgjt6nyo7ited2seki5epggw5gza"),
|
||||
("mfem", "qtneutm6khd6epd2rhyuv2y6zavsxbed"),
|
||||
("mfem@4.0.0", "qtneutm6khd6epd2rhyuv2y6zavsxbed"),
|
||||
("mfem@4.1.0", "uit2ydzhra3b2mlvnq262qlrqqmuwq3d"),
|
||||
# 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", "efpfd2c4pzhsbyc3o7plqcmtwm6b57yh"),
|
||||
("legion", "sffy6vz3dusxnxeetofoomlaieukygoj"),
|
||||
# has nested `with when()` blocks and loops
|
||||
("trilinos", "vqrgscjrla4hi7bllink7v6v6dwxgc2p"),
|
||||
],
|
||||
|
||||
@@ -87,11 +87,28 @@ def __init__(self, py_ver_consistent=False, _avoid_backslashes=False):
|
||||
|
||||
Arguments:
|
||||
py_ver_consistent (bool): if True, generate unparsed code that is
|
||||
consistent between Python versions 3.5-3.11.
|
||||
consistent between Python 2.7 and 3.5-3.10.
|
||||
|
||||
Consistency is achieved by:
|
||||
1. Ensuring that *args and **kwargs are always the last arguments,
|
||||
regardless of the python version, because Python 2's AST does not
|
||||
have sufficient information to reconstruct star-arg order.
|
||||
2. Always unparsing print as a function.
|
||||
3. Unparsing Python3 unicode literals the way Python 2 would.
|
||||
|
||||
Without these changes, the same source can generate different code for Python 2
|
||||
and Python 3, depending on subtle AST differences. The first of these two
|
||||
causes this module to behave differently from Python 3.8+'s `ast.unparse()`
|
||||
|
||||
One place where single source will generate an inconsistent AST is with
|
||||
multi-argument print statements, e.g.::
|
||||
|
||||
print("foo", "bar", "baz")
|
||||
|
||||
In Python 2, this prints a tuple; in Python 3, it is the print function with
|
||||
multiple arguments. Use ``from __future__ import print_function`` to avoid
|
||||
this inconsistency.
|
||||
|
||||
For legacy reasons, consistency is achieved by unparsing Python3 unicode literals
|
||||
the way Python 2 would. This preserved Spack package hash consistency during the
|
||||
python2/3 transition
|
||||
"""
|
||||
self.future_imports = []
|
||||
self._indent = 0
|
||||
@@ -282,6 +299,61 @@ def visit_Exec(self, node):
|
||||
self.write(", ")
|
||||
self.dispatch(node.locals)
|
||||
|
||||
def visit_Print(self, node):
|
||||
# Use print function so that python 2 unparsing is consistent with 3
|
||||
if self._py_ver_consistent:
|
||||
self.fill("print")
|
||||
with self.delimit("(", ")"):
|
||||
values = node.values
|
||||
|
||||
# Can't tell print(foo, bar, baz) and print((foo, bar, baz)) apart in
|
||||
# python 2 and 3, so treat them the same to make hashes consistent.
|
||||
# Single-tuple print are rare and unlikely to affect package hashes,
|
||||
# esp. as they likely print to stdout.
|
||||
if len(values) == 1 and isinstance(values[0], ast.Tuple):
|
||||
values = node.values[0].elts
|
||||
|
||||
do_comma = False
|
||||
for e in values:
|
||||
if do_comma:
|
||||
self.write(", ")
|
||||
else:
|
||||
do_comma = True
|
||||
self.dispatch(e)
|
||||
|
||||
if not node.nl:
|
||||
if do_comma:
|
||||
self.write(", ")
|
||||
else:
|
||||
do_comma = True
|
||||
self.write("end=''")
|
||||
|
||||
if node.dest:
|
||||
if do_comma:
|
||||
self.write(", ")
|
||||
else:
|
||||
do_comma = True
|
||||
self.write("file=")
|
||||
self.dispatch(node.dest)
|
||||
|
||||
else:
|
||||
# unparse Python 2 print statements
|
||||
self.fill("print ")
|
||||
|
||||
do_comma = False
|
||||
if node.dest:
|
||||
self.write(">>")
|
||||
self.dispatch(node.dest)
|
||||
do_comma = True
|
||||
for e in node.values:
|
||||
if do_comma:
|
||||
self.write(", ")
|
||||
else:
|
||||
do_comma = True
|
||||
self.dispatch(e)
|
||||
if not node.nl:
|
||||
self.write(",")
|
||||
|
||||
def visit_Global(self, node):
|
||||
self.fill("global ")
|
||||
interleave(lambda: self.write(", "), self.write, node.names)
|
||||
@@ -890,28 +962,65 @@ def visit_Call(self, node):
|
||||
self.set_precedence(_Precedence.ATOM, node.func)
|
||||
|
||||
args = node.args
|
||||
self.dispatch(node.func)
|
||||
if self._py_ver_consistent:
|
||||
# make print(a, b, c) and print((a, b, c)) equivalent, since you can't
|
||||
# tell them apart between Python 2 and 3. See _Print() for more details.
|
||||
if getattr(node.func, "id", None) == "print":
|
||||
if len(node.args) == 1 and isinstance(node.args[0], ast.Tuple):
|
||||
args = node.args[0].elts
|
||||
|
||||
self.dispatch(node.func)
|
||||
with self.delimit("(", ")"):
|
||||
comma = False
|
||||
|
||||
# NOTE: this code is no longer compatible with python versions 2.7:3.4
|
||||
# If you run on python@:3.4, you will see instability in package hashes
|
||||
# across python versions
|
||||
# starred arguments last in Python 3.5+, for consistency w/earlier versions
|
||||
star_and_kwargs = []
|
||||
move_stars_last = sys.version_info[:2] >= (3, 5)
|
||||
|
||||
for e in args:
|
||||
if comma:
|
||||
self.write(", ")
|
||||
if move_stars_last and isinstance(e, ast.Starred):
|
||||
star_and_kwargs.append(e)
|
||||
else:
|
||||
comma = True
|
||||
self.dispatch(e)
|
||||
if comma:
|
||||
self.write(", ")
|
||||
else:
|
||||
comma = True
|
||||
self.dispatch(e)
|
||||
|
||||
for e in node.keywords:
|
||||
if comma:
|
||||
self.write(", ")
|
||||
# starting from Python 3.5 this denotes a kwargs part of the invocation
|
||||
if e.arg is None and move_stars_last:
|
||||
star_and_kwargs.append(e)
|
||||
else:
|
||||
comma = True
|
||||
self.dispatch(e)
|
||||
if comma:
|
||||
self.write(", ")
|
||||
else:
|
||||
comma = True
|
||||
self.dispatch(e)
|
||||
|
||||
if move_stars_last:
|
||||
for e in star_and_kwargs:
|
||||
if comma:
|
||||
self.write(", ")
|
||||
else:
|
||||
comma = True
|
||||
self.dispatch(e)
|
||||
|
||||
if sys.version_info[:2] < (3, 5):
|
||||
if node.starargs:
|
||||
if comma:
|
||||
self.write(", ")
|
||||
else:
|
||||
comma = True
|
||||
self.write("*")
|
||||
self.dispatch(node.starargs)
|
||||
if node.kwargs:
|
||||
if comma:
|
||||
self.write(", ")
|
||||
else:
|
||||
comma = True
|
||||
self.write("**")
|
||||
self.dispatch(node.kwargs)
|
||||
|
||||
def visit_Subscript(self, node):
|
||||
self.set_precedence(_Precedence.ATOM, node.value)
|
||||
|
||||
@@ -121,7 +121,9 @@ spack:
|
||||
- py-jupyterhub
|
||||
- py-libensemble +mpi +nlopt
|
||||
- py-petsc4py
|
||||
- py-warpx
|
||||
- py-warpx ^warpx dims=2
|
||||
- py-warpx ^warpx dims=3
|
||||
- py-warpx ^warpx dims=rz
|
||||
- qthreads scheduler=distrib
|
||||
- quantum-espresso
|
||||
- raja
|
||||
|
||||
@@ -128,7 +128,9 @@ spack:
|
||||
- py-jupyterhub
|
||||
- py-libensemble +mpi +nlopt
|
||||
- py-petsc4py
|
||||
- py-warpx
|
||||
- py-warpx ^warpx dims=2
|
||||
- py-warpx ^warpx dims=3
|
||||
- py-warpx ^warpx dims=rz
|
||||
- qthreads scheduler=distrib
|
||||
- quantum-espresso
|
||||
- raja
|
||||
|
||||
@@ -27,7 +27,6 @@ class Apptainer(SingularityBase):
|
||||
git = "https://github.com/apptainer/apptainer.git"
|
||||
|
||||
version("main", branch="main")
|
||||
version("1.1.9", sha256="c615777539154288542cf393d3fd44c04ccb3260bc6330dc324d4e4ebe902bfa")
|
||||
version("1.1.7", sha256="e6d3956a26c3965703402e17f153ba07f59bf710068806462b314d2d04e825e7")
|
||||
version("1.1.6", sha256="5f32d305279a51ce8bdbe69e733c4ac12b1efdcb77758fab8ec9463e96a8fd82")
|
||||
version("1.1.5", sha256="3eadb26b6656a89a111abe29c7e50eab0023e9a8718f1e77e46ca871398bfa67")
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
|
||||
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
from spack.package import *
|
||||
|
||||
|
||||
class Bulker(PythonPackage):
|
||||
"""Bulker: multi-container environment manager"""
|
||||
|
||||
homepage = "https://bulker.databio.org/"
|
||||
pypi = "bulker/bulker-0.7.3.tar.gz"
|
||||
|
||||
version("0.7.3", sha256="a7a3a97184d50d2247dc3b116f31f90c27435d9872c6845152ff46f5c4e39d50")
|
||||
|
||||
depends_on("py-setuptools", type="build")
|
||||
depends_on("py-yacman@0.8.4:", type=("build", "run"))
|
||||
depends_on("py-pyyaml@5.1:", type=("build", "run"))
|
||||
depends_on("py-logmuse@0.2.0:", type=("build", "run"))
|
||||
depends_on("py-jinja2", type=("build", "run"))
|
||||
depends_on("py-ubiquerg@0.5.1:", type=("build", "run"))
|
||||
depends_on("py-psutil", type=("build", "run"))
|
||||
depends_on("singularityce", type="run")
|
||||
@@ -17,7 +17,6 @@ class Celeritas(CMakePackage, CudaPackage, ROCmPackage):
|
||||
|
||||
maintainers("sethrj")
|
||||
|
||||
version("0.3.0", sha256="f9620b6bcd8c9b5324ef215f8e44461f915c3fff47bf85ae442c9dafacaa79ac")
|
||||
version("0.2.2", sha256="ba5e341d636e00e3d7dbac13a2016b97014917489f46b8b387a2adf9d9563872")
|
||||
version(
|
||||
"0.2.1",
|
||||
@@ -82,8 +81,7 @@ class Celeritas(CMakePackage, CudaPackage, ROCmPackage):
|
||||
|
||||
depends_on("nlohmann-json")
|
||||
depends_on("geant4@10.7:11.0", when="@:0.2.0 +geant4")
|
||||
depends_on("geant4@10.6:11.0", when="@0.2.1:0.2 +geant4")
|
||||
depends_on("geant4@10.6:", when="@0.3: +geant4")
|
||||
depends_on("geant4@10.6:11.0", when="@0.2.1: +geant4")
|
||||
depends_on("hepmc3", when="+hepmc3")
|
||||
depends_on("root", when="+root")
|
||||
depends_on("swig", when="+swig")
|
||||
|
||||
@@ -17,7 +17,6 @@ class Charliecloud(AutotoolsPackage):
|
||||
tags = ["e4s"]
|
||||
|
||||
version("master", branch="master")
|
||||
version("0.33", sha256="ed2bd3589d1e5f7b33a1542c887d69856f6d7d57a6ec8ef5b8e9335eda48a045")
|
||||
version("0.32", sha256="47826b14966c400b250c35ff28a903f8e5b5e12d9e2a2b473e0f00f4e8393c47")
|
||||
version("0.31", sha256="7305c3d9010386c1b96fb95297feccb5c9d7ff82a3377d1d98eb8faef76bced9")
|
||||
version("0.30", sha256="97d45b25c9f813d8bae79b16de49503a165bc94c05dd2166975154d9b6ac78e9")
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
|
||||
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
from spack.package import *
|
||||
|
||||
|
||||
class Daemonize(Package):
|
||||
"""The Emacs programmable text editor."""
|
||||
|
||||
homepage = "https://software.clapper.org/daemonize"
|
||||
url = "https://github.com/bmc/daemonize/archive/refs/tags/release-1.7.8.tar.gz"
|
||||
git = "https://github.com/bmc/daemonize.git"
|
||||
|
||||
maintainers("vmiheer")
|
||||
|
||||
version("master", branch="master")
|
||||
version("1.7.8", sha256="20c4fc9925371d1ddf1b57947f8fb93e2036eb9ccc3b43a1e3678ea8471c4c60")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix={0}".format(prefix))
|
||||
make()
|
||||
make("install")
|
||||
@@ -25,7 +25,6 @@ class DarshanRuntime(AutotoolsPackage):
|
||||
test_requires_compiler = True
|
||||
|
||||
version("main", branch="main", submodules=True)
|
||||
version("3.4.3", sha256="dca5f9f9b0ead55a8724b218071ecbb5c4f2ef6027eaade3a6477256930ccc2c")
|
||||
version("3.4.2", sha256="b095c3b7c059a8eba4beb03ec092b60708780a3cae3fc830424f6f9ada811c6b")
|
||||
version("3.4.1", sha256="77c0a4675d94a0f9df5710e5b8658cc9ef0f0981a6dafb114d0389b1af64774c")
|
||||
version("3.4.0", sha256="7cc88b7c130ec3b574f6b73c63c3c05deec67b1350245de6d39ca91d4cff0842")
|
||||
|
||||
@@ -21,7 +21,6 @@ class DarshanUtil(AutotoolsPackage):
|
||||
tags = ["e4s"]
|
||||
|
||||
version("main", branch="main", submodules="True")
|
||||
version("3.4.3", sha256="dca5f9f9b0ead55a8724b218071ecbb5c4f2ef6027eaade3a6477256930ccc2c")
|
||||
version("3.4.2", sha256="b095c3b7c059a8eba4beb03ec092b60708780a3cae3fc830424f6f9ada811c6b")
|
||||
version("3.4.1", sha256="77c0a4675d94a0f9df5710e5b8658cc9ef0f0981a6dafb114d0389b1af64774c")
|
||||
version("3.4.0", sha256="7cc88b7c130ec3b574f6b73c63c3c05deec67b1350245de6d39ca91d4cff0842")
|
||||
|
||||
@@ -12,12 +12,10 @@ class Dmtcp(AutotoolsPackage):
|
||||
with no modifications to user code or to the O/S."""
|
||||
|
||||
homepage = "http://dmtcp.sourceforge.net/"
|
||||
url = "https://github.com/dmtcp/dmtcp/archive/refs/tags/3.0.0.tar.gz"
|
||||
url = "https://sourceforge.net/projects/dmtcp/files/2.6.0/dmtcp-2.6.0.tar.gz/download"
|
||||
git = "https://github.com/dmtcp/dmtcp.git"
|
||||
|
||||
maintainers("karya0")
|
||||
version("master", branch="master")
|
||||
version("3.0.0", sha256="2c7e95e1dbc55db33433bfee48a65f274298e98f246a36ab6dad1e0694750d37")
|
||||
version("2.6.0", sha256="3ed62a86dd0cb9c828b93ee8c7c852d6f9c96a0efa48bcfe867521adf7bced68")
|
||||
version("2.5.2", sha256="0e3e5e15bd401b7b6937f2b678cd7d6a252eab0a143d5740b89cc3bebb4282be")
|
||||
patch("for_aarch64.patch", when="@2.6.0 target=aarch64:")
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
|
||||
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
from spack.package import *
|
||||
|
||||
|
||||
class Emblmygff3(PythonPackage):
|
||||
"""
|
||||
EMBLmyGFF3 converts an assembly in FASTA format along with associated
|
||||
annotation in GFF3 format into the EMBL flat file format which is the
|
||||
required format for submitting annotated assemblies to ENA.
|
||||
"""
|
||||
|
||||
homepage = "https://github.com/NBISweden/EMBLmyGFF3"
|
||||
url = "https://github.com/NBISweden/EMBLmyGFF3/archive/refs/tags/v2.2.tar.gz"
|
||||
|
||||
maintainers("snehring")
|
||||
|
||||
version("2.2", sha256="225b2b50da9064f779e164b2859506d7540d11fa78f7d41b5c0d94f02f7845c5")
|
||||
version("2.1", sha256="64aef403bc64088eca504b69acffb3fb16ec4448cd3d6c9692b7baf276b92fd2")
|
||||
|
||||
depends_on("py-setuptools", type="build")
|
||||
depends_on("python@3.8.0:", type=("build", "run"))
|
||||
depends_on("py-biopython@1.78:", type=("build", "run"))
|
||||
depends_on("py-bcbio-gff@0.6.4:", type=("build", "run"))
|
||||
depends_on("py-numpy@1.22:", type=("build", "run"))
|
||||
@@ -24,7 +24,6 @@ class Enzyme(CMakePackage):
|
||||
root_cmakelists_dir = "enzyme"
|
||||
|
||||
version("main", branch="main")
|
||||
version("0.0.69", sha256="144d964187551700fdf0a4807961ceab1480d4e4cd0bb0fc7bbfab48fe053aa2")
|
||||
version("0.0.48", sha256="f5af62448dd2a8a316e59342ff445003581bc154f06b9b4d7a5a2c7259cf5769")
|
||||
version("0.0.32", sha256="9d42e42f7d0faf9beed61b2b1d27c82d1b369aeb9629539d5b7eafbe95379292")
|
||||
version("0.0.15", sha256="1ec27db0d790c4507b2256d851b256bf7e074eec933040e9e375d6e352a3c159")
|
||||
@@ -32,10 +31,9 @@ class Enzyme(CMakePackage):
|
||||
version("0.0.13", sha256="d4a53964ec1f763772db2c56e6734269b7656c8b2ecd41fa7a41315bcd896b5a")
|
||||
|
||||
depends_on("llvm@7:12", when="@0.0.13:0.0.15")
|
||||
depends_on("llvm@7:14", when="@0.0.32:0.0.47")
|
||||
depends_on("llvm@7:14", when="@0.0.48:0.0.68")
|
||||
depends_on("llvm@9:16", when="@0.0.69:")
|
||||
depends_on("cmake@3.13:", type="build")
|
||||
depends_on("llvm@7:14", when="@0.0.32:") # TODO actual lower bound
|
||||
depends_on("llvm@7:14", when="@0.0.48:")
|
||||
depends_on("cmake@3.9:", type="build")
|
||||
|
||||
def cmake_args(self):
|
||||
spec = self.spec
|
||||
|
||||
@@ -23,7 +23,6 @@ class Fastjet(AutotoolsPackage):
|
||||
|
||||
maintainers("drbenmorgan", "vvolkl")
|
||||
|
||||
version("3.4.1", sha256="05608c6ff213f06dd9de723813d6b4dccd51e661ac13098f74bfc9eeaf1cb5aa")
|
||||
version("3.4.0", sha256="ee07c8747c8ead86d88de4a9e4e8d1e9e7d7614973f5631ba8297f7a02478b91")
|
||||
version("3.3.4", sha256="432b51401e1335697c9248519ce3737809808fc1f6d1644bfae948716dddfc03")
|
||||
version("3.3.3", sha256="30b0a0282ce5aeac9e45862314f5966f0be941ce118a83ee4805d39b827d732b")
|
||||
@@ -61,13 +60,7 @@ class Fastjet(AutotoolsPackage):
|
||||
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="@:3.3 +atlas", level=0)
|
||||
patch(
|
||||
"https://gitlab.cern.ch/sft/lcgcmake/-/raw/23c82f269b8e5df0190e20b7fbe06db16b24d667/externals/patches/fastjet-3.4.1.patch",
|
||||
sha256="1c7eed1d825f2013116778366a2d27b850c46a2848389174f78829fa24cd1c45",
|
||||
when="@3.4: +atlas",
|
||||
level=0,
|
||||
)
|
||||
patch("atlas.patch", when="+atlas", level=0)
|
||||
|
||||
def configure_args(self):
|
||||
extra_args = ["--enable-allplugins"]
|
||||
|
||||
@@ -30,18 +30,6 @@ class Freefem(AutotoolsPackage):
|
||||
variant("mpi", default=False, description="Activate MPI support")
|
||||
variant("petsc", default=False, description="Compile with PETSc/SLEPc")
|
||||
|
||||
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("m4", type="build")
|
||||
# depends_on("patch", type="build")
|
||||
# depends_on("unzip", type="build")
|
||||
|
||||
depends_on("netlib-lapack")
|
||||
|
||||
depends_on("mpi", when="+mpi")
|
||||
depends_on("slepc", when="+petsc")
|
||||
|
||||
@@ -58,6 +46,10 @@ class Freefem(AutotoolsPackage):
|
||||
sha256="be84f7b1b8182ff0151c258056a09bda70d72a611b0a4da1fa1954df2e0fe84e",
|
||||
)
|
||||
|
||||
def autoreconf(self, spec, prefix):
|
||||
autoreconf = which("autoreconf")
|
||||
autoreconf("-i")
|
||||
|
||||
def configure_args(self):
|
||||
spec = self.spec
|
||||
options = [
|
||||
|
||||
@@ -21,7 +21,6 @@ class Geant4(CMakePackage):
|
||||
|
||||
maintainers("drbenmorgan")
|
||||
|
||||
version("11.1.2", sha256="e9df8ad18c445d9213f028fd9537e174d6badb59d94bab4eeae32f665beb89af")
|
||||
version("11.1.1", sha256="c5878634da9ba6765ce35a469b2893044f4a6598aa948733da8436cdbfeef7d2")
|
||||
version("11.1.0", sha256="c4a23f2f502efeab56de43a4412b21f65c7ca1b0877b9bc1d7e845ee12edf70a")
|
||||
version("11.0.4", sha256="673fb409fd1f54b65b52ddd21596f33ebb210f153730b7887a5dee7fea4d15a2")
|
||||
|
||||
@@ -55,8 +55,3 @@ def configure_args(self):
|
||||
configure_args.append("CBLAS_LIBS=%s" % self.spec["blas"].libs.ld_flags)
|
||||
|
||||
return configure_args
|
||||
|
||||
def setup_run_environment(self, env):
|
||||
# cmake looks for GSL_ROOT_DIR to find GSL so this helps pick the spack one
|
||||
# when there are multiple installations (e.g. a system one and a spack one)
|
||||
env.set("GSL_ROOT_DIR", self.prefix)
|
||||
|
||||
@@ -27,7 +27,7 @@ class Hdf5VfdGds(CMakePackage, CudaPackage):
|
||||
# system can obtaion via `find_library`. Packaging issues fixed in 11.7.1.
|
||||
conflicts("^cuda@:11.7.0")
|
||||
depends_on("cmake@3.12:", type="build")
|
||||
depends_on("hdf5@1.14.0:")
|
||||
depends_on("hdf5@1.13.0:")
|
||||
|
||||
def cmake_args(self):
|
||||
# CMake options
|
||||
|
||||
@@ -17,7 +17,7 @@ class Hdf5VolCache(CMakePackage):
|
||||
version("v1.1", tag="v1.1")
|
||||
version("v1.0", tag="v1.0")
|
||||
|
||||
depends_on("hdf5@1.14: +mpi +threadsafe")
|
||||
depends_on("hdf5@1.13: +mpi +threadsafe")
|
||||
depends_on("hdf5-vol-async")
|
||||
|
||||
def setup_run_environment(self, env):
|
||||
|
||||
@@ -18,8 +18,12 @@ class Hdf5VolLog(AutotoolsPackage):
|
||||
version("master-1.1", branch="master")
|
||||
|
||||
version("1.4.0", tag="logvol.1.4.0")
|
||||
version("1.3.0", tag="logvol.1.3.0")
|
||||
version("1.2.0", tag="logvol.1.2.0")
|
||||
version("1.1.0", tag="logvol.1.1.0")
|
||||
|
||||
depends_on("hdf5@1.14.0:", when="@1.4.0:")
|
||||
depends_on("hdf5@1.13.2", when="@:1.3.0")
|
||||
depends_on("autoconf", type="build")
|
||||
depends_on("automake", type="build")
|
||||
depends_on("libtool", type="build")
|
||||
|
||||
@@ -40,6 +40,11 @@ class Hdf5(CMakePackage):
|
||||
version("develop-1.8", branch="hdf5_1_8")
|
||||
|
||||
# Odd versions are considered experimental releases
|
||||
# Note: These are still required to build some VOL adapters, but even releases should be
|
||||
# preferred.
|
||||
version("1.13.3", sha256="83c7c06671f975cee6944b0b217f95005faa55f79ea5532cf4ac268989866af4")
|
||||
version("1.13.2", sha256="01643fa5b37dba7be7c4db6bbf3c5d07adf5c1fa17dbfaaa632a279b1b2f06da")
|
||||
|
||||
# Even versions are maintenance versions
|
||||
version(
|
||||
"1.14.1-2",
|
||||
@@ -66,11 +71,6 @@ class Hdf5(CMakePackage):
|
||||
sha256="a62dcb276658cb78e6795dd29bf926ed7a9bc4edf6e77025cd2c689a8f97c17a",
|
||||
preferred=True,
|
||||
)
|
||||
version(
|
||||
"1.10.10",
|
||||
sha256="a6877ab7bd5d769d2d68618fdb54beb50263dcc2a8c157fe7e2186925cdb02db",
|
||||
preferred=True,
|
||||
)
|
||||
version(
|
||||
"1.10.9",
|
||||
sha256="f5b77f59b705a755a5a223372d0222c7bc408fe8db6fa8d9d7ecf8bce291b8dd",
|
||||
|
||||
@@ -30,7 +30,7 @@ class Hermes(CMakePackage):
|
||||
depends_on("glpk")
|
||||
depends_on("glog@0.4.0:")
|
||||
depends_on("mpi")
|
||||
depends_on("hdf5@1.14.0:", when="+vfd")
|
||||
depends_on("hdf5@1.13.0:", when="+vfd")
|
||||
depends_on("yaml-cpp")
|
||||
|
||||
def cmake_args(self):
|
||||
|
||||
@@ -177,14 +177,6 @@ class Hpx(CMakePackage, CudaPackage, ROCmPackage):
|
||||
# both include a fix.
|
||||
conflicts("boost@:1.77.0", when="@:1.7 +rocm")
|
||||
|
||||
# libstdc++ has a broken valarray in some versions that clang/hipcc refuses
|
||||
# to compile:
|
||||
# https://github.com/spack/spack/issues/38104
|
||||
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103022
|
||||
conflicts("%gcc@9.1:9.4", when="+rocm")
|
||||
conflicts("%gcc@10.1:10.3", when="+rocm")
|
||||
conflicts("%gcc@11.2", when="+rocm")
|
||||
|
||||
# boost 1.73.0 build problem with HPX 1.4.0 and 1.4.1
|
||||
# https://github.com/STEllAR-GROUP/hpx/issues/4728#issuecomment-640685308
|
||||
depends_on("boost@:1.72.0", when="@:1.4")
|
||||
|
||||
@@ -14,7 +14,6 @@ class IqTree(CMakePackage):
|
||||
git = "https://github.com/iqtree/iqtree2.git"
|
||||
url = "https://github.com/Cibiv/IQ-TREE/archive/v1.6.12.tar.gz"
|
||||
|
||||
version("2.2.2.7", tag="v2.2.2.7", submodules=True)
|
||||
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")
|
||||
|
||||
@@ -19,19 +19,6 @@ class KokkosNvccWrapper(Package):
|
||||
|
||||
maintainers("Rombur")
|
||||
|
||||
version("4.0.01", sha256="bb942de8afdd519fd6d5d3974706bfc22b6585a62dd565c12e53bdb82cd154f0")
|
||||
version("4.0.00", sha256="1829a423883d4b44223c7c3a53d3c51671145aad57d7d23e6a1a4bebf710dcf6")
|
||||
version("3.7.02", sha256="5024979f06bc8da2fb696252a66297f3e0e67098595a0cc7345312b3b4aa0f54")
|
||||
version("3.7.01", sha256="0481b24893d1bcc808ec68af1d56ef09b82a1138a1226d6be27c3b3c3da65ceb")
|
||||
version("3.7.00", sha256="62e3f9f51c798998f6493ed36463f66e49723966286ef70a9dcba329b8443040")
|
||||
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")
|
||||
|
||||
@@ -28,8 +28,6 @@ class Lammps(CMakePackage, CudaPackage, ROCmPackage):
|
||||
# marked deprecated=True
|
||||
# * patch releases older than a stable release should be marked deprecated=True
|
||||
version("develop", branch="develop")
|
||||
version("20230615", sha256="8470ed7b26ccd3728f4b44a7f1c520f1af23a648af685fd30b42b840fdfae2ff")
|
||||
version("20230328", sha256="14f5a5c37e4b46466e90d8b35476800e66acee74999f7358f4c12dfe662bfd99")
|
||||
version("20230208", sha256="60221242145da4479e5b207d9a0eed90af4168d7a297b4dc8c0e7f2b3215602e")
|
||||
version("20221222", sha256="75372ee7ef982767fc4ed4dc95e20ddca8247419adeb0c1276c40e43d1eab955")
|
||||
version("20221103", sha256="d28517b84b157d4e46a1a64ed787b4662d8f2f5ade3f5a04bb0caed068f32f7e")
|
||||
@@ -387,7 +385,7 @@ def url_for_version(self, version):
|
||||
"kokkos": {},
|
||||
"kspace": {"default": True},
|
||||
"latboltz": {"when": "@20210702:"},
|
||||
"latte": {"when": "@20170922:20230328"},
|
||||
"latte": {"when": "@20170922:"},
|
||||
"lepton": {"when": "@20230208:"},
|
||||
"machdyn": {"when": "@20210702:"},
|
||||
"manifold": {"when": "@20210702:"},
|
||||
@@ -547,7 +545,7 @@ def url_for_version(self, version):
|
||||
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:20230328+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")
|
||||
@@ -655,8 +653,8 @@ def url_for_version(self, version):
|
||||
# Older LAMMPS does not compile with Kokkos 4.x
|
||||
conflicts(
|
||||
"^kokkos @4:",
|
||||
when="@:20230615",
|
||||
msg="LAMMPS is incompatible with Kokkos 4.x until @20230615",
|
||||
when="@:20221222",
|
||||
msg="LAMMPS is incompatible with Kokkos 4.x until @20230208",
|
||||
)
|
||||
|
||||
patch("lib.patch", when="@20170901")
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
|
||||
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
from spack.package import *
|
||||
|
||||
|
||||
class Lfortran(CMakePackage):
|
||||
"""Modern interactive LLVM-based Fortran compiler"""
|
||||
|
||||
homepage = "https://lfortran.org"
|
||||
url = "https://lfortran.github.io/tarballs/release/lfortran-0.19.0.tar.gz"
|
||||
git = "https://github.com/lfortran/lfortran.git"
|
||||
maintainers = ["certik"]
|
||||
|
||||
# The build process uses 'git describe --tags' to get the package version
|
||||
version("main", branch="main", get_full_repo=True)
|
||||
version("0.19.0", sha256="d496f61d7133b624deb3562677c0cbf98e747262babd4ac010dbd3ab4303d805")
|
||||
|
||||
variant("llvm", default=True, description="Build with LLVM support")
|
||||
variant("stacktrace", default=True, description="Build with stacktrace support")
|
||||
|
||||
depends_on("python@3:", type="build", when="@main")
|
||||
depends_on("cmake", type="build")
|
||||
depends_on("llvm@11:15", type=("build", "run"), when="+llvm")
|
||||
depends_on("zlib", type="build")
|
||||
depends_on("re2c", type="build", when="@main")
|
||||
depends_on("bison@:3.4", type="build", when="@main")
|
||||
depends_on("binutils@2.38:", type="build", when="platform=linux")
|
||||
|
||||
def cmake_args(self):
|
||||
args = [
|
||||
self.define_from_variant("WITH_LLVM", "llvm"),
|
||||
self.define_from_variant("WITH_STACKTRACE", "stacktrace"),
|
||||
]
|
||||
|
||||
if self.spec.satisfies("@main"):
|
||||
args.append("-DLFORTRAN_BUILD_ALL=yes")
|
||||
|
||||
return args
|
||||
@@ -35,7 +35,6 @@ class Llvm(CMakePackage, CudaPackage):
|
||||
family = "compiler" # Used by lmod
|
||||
|
||||
version("main", branch="main")
|
||||
version("16.0.6", sha256="56b2f75fdaa95ad5e477a246d3f0d164964ab066b4619a01836ef08e475ec9d5")
|
||||
version("16.0.5", sha256="e0fbca476693fcafa125bc71c8535587b6d9950293122b66b262bb4333a03942")
|
||||
version("16.0.4", sha256="10c3fe1757d2e4f1cd7745dc548ecf687680a71824ec81701c38524c2a0753e2")
|
||||
version("16.0.3", sha256="0bd71bc687a4e5a250c40afb0decefc50c85178fcce726137b682039de63919b")
|
||||
|
||||
@@ -18,7 +18,6 @@ class Millepede(MakefilePackage):
|
||||
|
||||
parallel = False
|
||||
|
||||
version("04-13-03", sha256="669a6e46a6f02ba3c78b2760e2ffb2c90d25b582ccd1a5c0770eef81c7bcbbe9")
|
||||
version("04-11-01", sha256="9869eb84d8d07cecfab15c396f3faa36aef10906e39f8641c48b58e0325b3205")
|
||||
|
||||
depends_on("zlib")
|
||||
|
||||
@@ -17,7 +17,6 @@ class MochiMargo(AutotoolsPackage):
|
||||
maintainers("carns", "mdorier", "fbudin69500", "chuckatkins")
|
||||
|
||||
version("main", branch="main")
|
||||
version("0.14.0", sha256="ff0e3fa786630b63280606243c35f1ea3a25fa2ba6f08bf9065cab9fcc7fa1c7")
|
||||
version("0.13.1", sha256="cff1decb94089cd0f9c0930b02092838679827b09ce4a2f3a359d59caee28782")
|
||||
version("0.13", sha256="9a5a4aa81ceb10e010fbad6c7bb8d39d082fe6e61ed33b2b2d2b056917f401d8")
|
||||
version("0.12.1", sha256="ff9d0f8722aff17737cd63f27758314b2ed78e518cd45d1fb9f0e3b7ccbcef50")
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
import re
|
||||
import sys
|
||||
|
||||
from spack.build_environment import dso_suffix
|
||||
from spack.package import *
|
||||
|
||||
|
||||
|
||||
@@ -17,7 +17,6 @@ class Mpitrampoline(CMakePackage):
|
||||
maintainers("eschnett")
|
||||
|
||||
version("develop", branch="main")
|
||||
version("5.3.1", sha256="8671370750587f212f059138abc6dcaa5a1079d3dbd9189dc21bf353611159eb")
|
||||
version("5.3.0", sha256="c20a04fe72965d46f747d5e2c4e7854cfe0cc1b2db47c2484b06a7f24f86728f")
|
||||
version("5.2.3", sha256="41ef0f5bc8bbf3497c4595e845cb15573dde1c9395a031b63a3f7e09673c8ce8")
|
||||
version("5.2.0", sha256="5f89c61f7b93d8f249ffc8de1abad7acab34c5f980e5d74915e4e041c461aeb4")
|
||||
|
||||
@@ -17,7 +17,6 @@ class Mpiwrapper(CMakePackage):
|
||||
maintainers("eschnett")
|
||||
|
||||
version("develop", branch="main")
|
||||
version("2.10.4", sha256="af644bf4ba69964a4f7b35fbe6b8bbc67afe7bef75ba69895a227f4f465b3eaa")
|
||||
version("2.10.3", sha256="63f34df837cb9d7cae0b5ab8c0f09e8c5a60a8c0e85f248bf34fedda6488a870")
|
||||
version("2.10.1", sha256="54b57642b14b7b2dc257f7066eec8639133e4a4d5c351b8d689e31816b872b0d")
|
||||
version("2.10.0", sha256="b866fa65905ededb8c7611ab501b1e7f608802b7e0dffd77ef8b602818a62c59")
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
--- c++/include/util/impl/compile_time_bits.hpp 2023-01-05 15:04:14.000000000 +0000
|
||||
+++ c++/include/util/impl/compile_time_bits.hpp.patched 2023-06-14 10:38:16.316603211 +0100
|
||||
@@ -39,6 +39,7 @@
|
||||
#include <limits>
|
||||
#include <stdexcept>
|
||||
#include <array>
|
||||
+#include <cstdint>
|
||||
|
||||
// forward declarations to avoid unnecessary includes
|
||||
namespace ncbi
|
||||
@@ -10,9 +10,7 @@ class NcbiRmblastn(AutotoolsPackage):
|
||||
"""RMBlast search engine for NCBI"""
|
||||
|
||||
homepage = "https://www.repeatmasker.org/rmblast/"
|
||||
url = (
|
||||
"https://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.14.0", sha256="bf477f1b0c3b82f0b7a7094bf003a9a83e37e3b0716c1df799060c4feab17500")
|
||||
version("2.11.0", sha256="d88e1858ae7ce553545a795a2120e657a799a6d334f2a07ef0330cc3e74e1954")
|
||||
@@ -28,7 +26,7 @@ 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/rmblast/isb-2.14.0+-rmblast.patch.gz",
|
||||
"http://www.repeatmasker.org/rmblast/isb-2.14.0+-rmblast.patch.gz",
|
||||
sha256="cd083f256551c6d6021897a1b08e023976e82c59576787d4885f57d36f9e6fdf",
|
||||
archive_sha256="9de0e67467a4cffdde0c5f67e3658fb52ed313e4550f9a36a251bddb2ba33f49",
|
||||
when="@2.14.0",
|
||||
@@ -45,9 +43,6 @@ class NcbiRmblastn(AutotoolsPackage):
|
||||
archive_sha256="e746ee480ade608052306fd21f015c8a323f27029f65399275216f9a4c882d59",
|
||||
when="@2.9.0",
|
||||
)
|
||||
|
||||
patch("gcc13.patch", level=0, when="@2.14.0:%gcc@13:")
|
||||
|
||||
depends_on("cpio", type="build")
|
||||
depends_on("boost")
|
||||
depends_on("lzo")
|
||||
@@ -58,9 +53,7 @@ class NcbiRmblastn(AutotoolsPackage):
|
||||
configure_directory = "c++"
|
||||
|
||||
def url_for_version(self, version):
|
||||
url = (
|
||||
"https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/{0}/ncbi-blast-{1}+-src.tar.gz"
|
||||
)
|
||||
url = "ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/{0}/ncbi-blast-{1}+-src.tar.gz"
|
||||
return url.format(version, version)
|
||||
|
||||
def configure_args(self):
|
||||
|
||||
@@ -17,8 +17,6 @@ class Neovim(CMakePackage):
|
||||
|
||||
version("master", branch="master")
|
||||
version("stable", tag="stable")
|
||||
version("0.9.1", sha256="8db17c2a1f4776dcda00e59489ea0d98ba82f7d1a8ea03281d640e58d8a3a00e")
|
||||
version("0.9.0", sha256="39d79107c54d2f3babcad2cd157c399241c04f6e75e98c18e8afaf2bb5e82937")
|
||||
version("0.8.3", sha256="adf45ff160e1d89f519b6114732eba03485ae469beb27919b0f7a4f6b44233c1")
|
||||
version("0.8.2", sha256="c516c8db73e1b12917a6b2e991b344d0914c057cef8266bce61a2100a28ffcc9")
|
||||
version("0.8.0", sha256="505e3dfb71e2f73495c737c034a416911c260c0ba9fd2092c6be296655be4d18")
|
||||
@@ -130,8 +128,6 @@ class Neovim(CMakePackage):
|
||||
depends_on("tree-sitter@0.20.6:")
|
||||
with when("@0.8:"):
|
||||
depends_on("libvterm@0.3:", type="link")
|
||||
with when("@0.9:"):
|
||||
depends_on("tree-sitter@0.20.8:")
|
||||
|
||||
# Support for `libvterm@0.2:` has been added in neovim@0.8.0
|
||||
# term: Add support for libvterm >= 0.2 (https://github.com/neovim/neovim/releases/tag/v0.8.0)
|
||||
|
||||
@@ -182,7 +182,7 @@ def use_3rdparty(feature, spack_variant=None, depends_on=None, extra_dirs=[]):
|
||||
args.append("-DBUILD_DOC_Overview=OFF")
|
||||
|
||||
# Always build the foundation classes
|
||||
args.append(self.define("BUILD_MODULE_FoundationClasses", True))
|
||||
args.append(self.define("BUILD_MODULE_FoundationClasses", true))
|
||||
# Specify which modules to build
|
||||
for module in [
|
||||
"ApplicationFramework",
|
||||
|
||||
@@ -494,7 +494,6 @@ class Openmpi(AutotoolsPackage, CudaPackage):
|
||||
)
|
||||
# Variants to use internal packages
|
||||
variant("internal-hwloc", default=False, description="Use internal hwloc")
|
||||
variant("internal-pmix", default=False, description="Use internal pmix")
|
||||
|
||||
provides("mpi")
|
||||
provides("mpi@:2.2", when="@1.6.5")
|
||||
@@ -553,9 +552,9 @@ class Openmpi(AutotoolsPackage, CudaPackage):
|
||||
# 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 ~internal-pmix")
|
||||
depends_on("pmix@3.2:", when="@4.0:4 ~internal-pmix")
|
||||
depends_on("pmix@4.2:", when="@5.0:5 ~internal-pmix")
|
||||
depends_on("pmix@1.0:1", when="@2.0:2")
|
||||
depends_on("pmix@3.2:", when="@4.0:4")
|
||||
depends_on("pmix@4.2:", when="@5.0:5")
|
||||
|
||||
# Libevent is required when *vendored* PMIx is used
|
||||
depends_on("libevent@2:", when="@main")
|
||||
@@ -960,22 +959,13 @@ def configure_args(self):
|
||||
config_args.extend(["--enable-debug"])
|
||||
|
||||
# Package dependencies
|
||||
for dep in ["libevent", "lustre", "singularity", "valgrind", "zlib"]:
|
||||
for dep in ["libevent", "lustre", "pmix", "singularity", "valgrind", "zlib"]:
|
||||
if "^" + dep in spec:
|
||||
config_args.append("--with-{0}={1}".format(dep, spec[dep].prefix))
|
||||
|
||||
# PMIx support
|
||||
if spec.satisfies("+internal-pmix"):
|
||||
config_args.append("--with-pmix=internal")
|
||||
elif "^pmix" in spec:
|
||||
config_args.append("--with-pmix={0}".format(spec["pmix"].prefix))
|
||||
|
||||
# Hwloc support
|
||||
if spec.satisfies("+internal-hwloc"):
|
||||
config_args.append("--with-hwloc=internal")
|
||||
elif "^hwloc" in spec:
|
||||
if "^hwloc" in spec:
|
||||
config_args.append("--with-hwloc=" + spec["hwloc"].prefix)
|
||||
|
||||
# Java support
|
||||
if "+java" in spec:
|
||||
config_args.extend(
|
||||
|
||||
@@ -20,13 +20,10 @@ class Openturns(CMakePackage):
|
||||
git = "https://github.com/openturns/openturns.git"
|
||||
maintainers("liuyangzhuan")
|
||||
|
||||
version("master", branch="master")
|
||||
version("1.20", sha256="2be5247f0266d153619b35dfb1eeeb46736c502dad993b40aff8857d6314f293")
|
||||
version("1.19", sha256="1d61cb6ce8ec1121db9f1e9fb490aaa056d2ff250db26df05d2e3e30ceb32344")
|
||||
version("1.18", sha256="1840d3fd8b38fd5967b1fa04e49d8f760c2c497400430e97623595ca48754ae0")
|
||||
version("master", branch="master")
|
||||
|
||||
variant("python", default=True, description="Build Python bindings")
|
||||
variant("libxml2", default=False, description="Use LibXML2 for XML support")
|
||||
|
||||
extends("python", when="+python")
|
||||
|
||||
@@ -41,7 +38,6 @@ class Openturns(CMakePackage):
|
||||
depends_on("intel-tbb", type=("build", "run"))
|
||||
depends_on("py-cloudpickle", type=("build", "run"))
|
||||
depends_on("py-urllib3", type=("build", "run"))
|
||||
depends_on("libxml2", type=("build", "run"), when="+libxml2")
|
||||
|
||||
def cmake_args(self):
|
||||
spec = self.spec
|
||||
|
||||
@@ -10,19 +10,11 @@ class PerlGd(PerlPackage):
|
||||
"""Interface to Gd Graphics Library"""
|
||||
|
||||
homepage = "https://metacpan.org/pod/GD"
|
||||
url = "https://cpan.metacpan.org/authors/id/R/RU/RURBAN/GD-2.77.tar.gz"
|
||||
url = "http://search.cpan.org/CPAN/authors/id/L/LD/LDS/GD-2.53.tar.gz"
|
||||
|
||||
version("2.77", sha256="b56c88b8ef3be016ce29bb62dd1f1b6f6b5fbcaa57fea59e9468af6901016fb5")
|
||||
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")
|
||||
|
||||
def url_for_version(self, version):
|
||||
if version <= Version("2.56"):
|
||||
url = "http://search.cpan.org/CPAN/authors/id/L/LD/LDS/GD-{0}.tar.gz"
|
||||
else:
|
||||
url = "https://cpan.metacpan.org/authors/id/R/RU/RURBAN/GD-{0}.tar.gz"
|
||||
return url.format(version)
|
||||
|
||||
@@ -85,11 +85,11 @@ class Pfunit(CMakePackage):
|
||||
|
||||
# The maximum rank of an array in the Fortran 2008 standard is 15
|
||||
max_rank = 15
|
||||
allowed_array_ranks = tuple(str(i) for i in range(3, max_rank + 1))
|
||||
allowed_array_ranks = tuple(str(i) for i in range(1, max_rank + 1))
|
||||
|
||||
variant(
|
||||
"max_array_rank",
|
||||
default="5",
|
||||
default=5,
|
||||
values=allowed_array_ranks,
|
||||
description="Max rank for assertion overloads (higher values may be slower to build)",
|
||||
)
|
||||
|
||||
@@ -13,7 +13,6 @@ class PyAenum(PythonPackage):
|
||||
homepage = "https://github.com/ethanfurman/aenum"
|
||||
pypi = "aenum/aenum-2.1.2.tar.gz"
|
||||
|
||||
version("3.1.12", sha256="3e531c91860a81f885f7e6e97d219ae9772cb899580084788935dad7d9742ef0")
|
||||
version("2.1.2", sha256="a3208e4b28db3a7b232ff69b934aef2ea1bf27286d9978e1e597d46f490e4687")
|
||||
|
||||
depends_on("py-setuptools", type="build")
|
||||
|
||||
@@ -16,28 +16,25 @@ class PyAiohttp(PythonPackage):
|
||||
homepage = "https://github.com/aio-libs/aiohttp"
|
||||
pypi = "aiohttp/aiohttp-3.8.1.tar.gz"
|
||||
|
||||
version("3.8.4", sha256="bf2e1a9162c1e441bf805a1fd166e249d574ca04e03b34f97e2928769e91ab5c")
|
||||
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-charset-normalizer@2:3", when="@3.8.4:", type=("build", "run"))
|
||||
depends_on("py-charset-normalizer@2", when="@3.8.0:3.8.3", type=("build", "run"))
|
||||
depends_on("py-multidict@4.5:6", when="@3.6.3:", type=("build", "run"))
|
||||
depends_on("py-multidict@4.5:4", when="@:3.6.2", type=("build", "run"))
|
||||
depends_on("py-async-timeout@4", when="@3.8.0:", type=("build", "run"))
|
||||
depends_on("py-async-timeout@3", when="@:3.7.4", type=("build", "run"))
|
||||
depends_on("py-asynctest@0.13.0", when="@3.8.0: ^python@:3.7", type=("build", "run"))
|
||||
depends_on("py-yarl@1", type=("build", "run"))
|
||||
depends_on("py-typing-extensions@3.7.4:", when="@3.8: ^python@:3.7", type=("build", "run"))
|
||||
depends_on("py-typing-extensions@3.6.5:", when="@3.7", type=("build", "run"))
|
||||
depends_on("py-typing-extensions@3.6.5:", when="@:3.6 ^python@:3.7", type=("build", "run"))
|
||||
depends_on("py-frozenlist@1.1.1:", when="@3.8.1:", type=("build", "run"))
|
||||
depends_on("py-aiosignal@1.1.2:", when="@3.8.1:", type=("build", "run"))
|
||||
|
||||
# Historical dependencies
|
||||
depends_on("py-chardet@2.0:3", when="@:3.7", 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-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:")
|
||||
|
||||
@@ -12,7 +12,6 @@ class PyBcbioGff(PythonPackage):
|
||||
|
||||
pypi = "bcbio-gff/bcbio-gff-0.6.2.tar.gz"
|
||||
|
||||
version("0.7.0", sha256="f7b3922ee274106f8716703f41f05a1795aa9d73e903f4e481995ed8f5f65d2d")
|
||||
version("0.6.2", sha256="c682dc46a90e9fdb124ab5723797a5f71b2e3534542ceff9f6572b64b9814e68")
|
||||
|
||||
depends_on("py-setuptools", type="build")
|
||||
|
||||
@@ -24,8 +24,6 @@ class PyChainer(PythonPackage):
|
||||
|
||||
maintainers("adamjstewart")
|
||||
|
||||
skip_modules = ["onnx_chainer"]
|
||||
|
||||
version("7.2.0", sha256="6e2fba648cc5b8a5421e494385b76fe5ec154f1028a1c5908557f5d16c04f0b3")
|
||||
version("6.7.0", sha256="87cb3378a35e7c5c695028ec91d58dc062356bc91412384ea939d71374610389")
|
||||
|
||||
@@ -50,21 +48,25 @@ def cache_test_sources(self):
|
||||
if "+mn" in self.spec:
|
||||
self.cache_extra_test_sources("examples")
|
||||
|
||||
def test_chainermn(self):
|
||||
"""run the ChainerMN test"""
|
||||
if "+mn" not in self.spec:
|
||||
raise SkipTest("Test only supported when built with +mn")
|
||||
def test(self):
|
||||
if "+mn" in self.spec:
|
||||
# Run test of ChainerMN
|
||||
test_dir = self.test_suite.current_test_data_dir
|
||||
|
||||
mnist_file = join_path(self.install_test_root.examples.chainermn.mnist, "train_mnist.py")
|
||||
mpirun = which(self.spec["mpi"].prefix.bin.mpirun)
|
||||
opts = ["-n", "4", self.spec["python"].command.path, mnist_file, "-o", "."]
|
||||
env["OMP_NUM_THREADS"] = "4"
|
||||
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
|
||||
opts = ["-n", "4", python_exe, mnist_file, "-o", test_dir]
|
||||
env["OMP_NUM_THREADS"] = "4"
|
||||
|
||||
mpirun(*opts)
|
||||
self.run_test(mpi_name, options=opts, work_dir=test_dir)
|
||||
|
||||
# check results
|
||||
json_open = open(join_path(".", "log"), "r")
|
||||
json_load = json.load(json_open)
|
||||
v = dict([(d.get("epoch"), d.get("main/accuracy")) for d in json_load])
|
||||
assert (1 in v) or (20 in v), "Cannot find epoch 1 or epoch 20"
|
||||
assert abs(1.0 - v[1]) >= abs(1.0 - v[20]), "ChainerMN Test Failed!"
|
||||
# check results
|
||||
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])
|
||||
if 1 not in v or 20 not in v:
|
||||
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 !")
|
||||
|
||||
@@ -14,12 +14,10 @@ class PyCython(PythonPackage):
|
||||
|
||||
version("3.0.0a9", sha256="23931c45877432097cef9de2db2dc66322cbc4fc3ebbb42c476bb2c768cecff0")
|
||||
version(
|
||||
"0.29.35",
|
||||
sha256="6e381fa0bf08b3c26ec2f616b19ae852c06f5750f4290118bf986b6f85c8c527",
|
||||
"0.29.33",
|
||||
sha256="5040764c4a4d2ce964a395da24f0d1ae58144995dab92c6b96f44c3f4d72286a",
|
||||
preferred=True,
|
||||
)
|
||||
version("0.29.34", sha256="1909688f5d7b521a60c396d20bba9e47a1b2d2784bfb085401e1e1e7d29a29a8")
|
||||
version("0.29.33", sha256="5040764c4a4d2ce964a395da24f0d1ae58144995dab92c6b96f44c3f4d72286a")
|
||||
version("0.29.32", sha256="8733cf4758b79304f2a4e39ebfac5e92341bce47bcceb26c1254398b2f8c1af7")
|
||||
version("0.29.30", sha256="2235b62da8fe6fa8b99422c8e583f2fb95e143867d337b5c75e4b9a1a865f9e3")
|
||||
version("0.29.24", sha256="cdf04d07c3600860e8c2ebaad4e8f52ac3feb212453c1764a49ac08c827e8443")
|
||||
|
||||
@@ -14,31 +14,30 @@ class PyDarshan(PythonPackage):
|
||||
|
||||
maintainers("jeanbez", "shanedsnyder")
|
||||
|
||||
version("3.4.3.0", sha256="e0708fc5445f2d491ebd381a253cd67534cef13b963f1d749dd605a10f5c0f8f")
|
||||
version("3.4.2.0", sha256="eb00eb758c96899c0d523b71eb00caa3b967509c27fd504c579ac8c9b521845c")
|
||||
version("3.4.1.0", sha256="41a033ebac6fcd0ca05b8ccf07e11191286dee923ec334b876a7ec8e8a6add84")
|
||||
version("3.4.0.1", sha256="0142fc7c0b12a9e5c22358aa26cca7083d28af42aeea7dfcc5698c56b6aee6b7")
|
||||
|
||||
depends_on("python@3.7:", type=("build", "run"))
|
||||
depends_on("py-setuptools@:63", type="build")
|
||||
depends_on("py-pytest-runner", type="build")
|
||||
depends_on("python@3.6:", type=("build", "run"))
|
||||
depends_on("py-setuptools", type="build")
|
||||
depends_on("py-importlib-resources", when="^python@:3.8", type=("build", "run"))
|
||||
depends_on("py-cffi", type=("build", "run"))
|
||||
# NOTE: SciPy is an indirect dependency needed for interpolate usage in pandas
|
||||
# This indirect dependency was dropped starting with v3.4.1.0
|
||||
depends_on("py-scipy", when="@3.4.0.1", type=("build", "run"))
|
||||
depends_on("py-numpy", type=("build", "run"))
|
||||
# It will be fixed in the next release
|
||||
depends_on("py-scipy", type=("build", "run"))
|
||||
depends_on("py-numpy@1.21:", type=("build", "run"))
|
||||
depends_on("py-pandas", type=("build", "run"))
|
||||
depends_on("py-matplotlib", type=("build", "run"))
|
||||
# NOTE: matplotlib should be pinned until next release, for details:
|
||||
# https://github.com/darshan-hpc/darshan/issues/742
|
||||
depends_on("py-matplotlib@3.4", type=("build", "run"))
|
||||
depends_on("py-seaborn", type=("build", "run"))
|
||||
depends_on("py-mako", type=("build", "run"))
|
||||
depends_on("py-humanize", when="@3.4.3.0:", type=("build", "run"))
|
||||
depends_on("py-pytest", type="test")
|
||||
# NOTE: lxml is test-only indirect dependency via pandas
|
||||
# It will become optional in the next release
|
||||
depends_on("py-lxml", type=("test"))
|
||||
|
||||
# py-darshan depends on specific darshan-util versions corresponding
|
||||
# to the first 3 parts of the py-darshan version string
|
||||
# (i.e., py-darshan@3.4.3.0 requires darshan-util@3.4.3, etc.)
|
||||
for v in ["3.4.0", "3.4.1", "3.4.2", "3.4.3"]:
|
||||
depends_on(f"darshan-util@{v}", when=f"@{v}", type=("build", "run"))
|
||||
depends_on("darshan-util", type=("build", "run"))
|
||||
|
||||
@run_after("install")
|
||||
@on_package_attributes(run_tests=True)
|
||||
|
||||
@@ -15,14 +15,12 @@ class PyGcsOauth2BotoPlugin(PythonPackage):
|
||||
|
||||
maintainers("dorton21")
|
||||
|
||||
version("3.0", sha256="f4120b08b7f8d32904674c98f07d4caf4083a58343c0c0fa0016e0f0254dfe31")
|
||||
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.7.2", when="@3:", type=("build", "run"))
|
||||
depends_on("py-boto@2.29.1:", type=("build", "run"))
|
||||
depends_on("py-google-reauth@0.1.0:", 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"))
|
||||
|
||||
@@ -13,14 +13,11 @@ class PyGoogleAuth(PythonPackage):
|
||||
homepage = "https://github.com/GoogleCloudPlatform/google-auth-library-python"
|
||||
pypi = "google-auth/google-auth-1.6.3.tar.gz"
|
||||
|
||||
version("2.20.0", sha256="030af34138909ccde0fbce611afc178f1d65d32fbff281f25738b1fe1c6f3eaa")
|
||||
version("2.16.2", sha256="07e14f34ec288e3f33e00e2e3cc40c8942aa5d4ceac06256a28cd8e786591420")
|
||||
version("2.11.0", sha256="ed65ecf9f681832298e29328e1ef0a3676e3732b2e56f41532d45f70a22de0fb")
|
||||
version("2.3.2", sha256="2dc5218ee1192f9d67147cece18f47a929a9ef746cb69c50ab5ff5cfc983647b")
|
||||
version("1.6.3", sha256="0f7c6a64927d34c1a474da92cfc59e552a5d3b940d3266606c6a28b72888b9e4")
|
||||
|
||||
variant("aiohttp", default=False, when="@1.22.1:", description="Enables aiohttp support")
|
||||
|
||||
depends_on("py-setuptools", type=("build", "run"))
|
||||
depends_on("py-cachetools@2:5", when="@2.11:", type=("build", "run"))
|
||||
depends_on("py-cachetools@2:4", when="@2.3", type=("build", "run"))
|
||||
@@ -29,8 +26,3 @@ class PyGoogleAuth(PythonPackage):
|
||||
depends_on("py-rsa@3.1.4:4", when="@2.3:", type=("build", "run"))
|
||||
depends_on("py-rsa@3.1.4:", type=("build", "run"))
|
||||
depends_on("py-six@1.9:", type=("build", "run"))
|
||||
depends_on("py-urllib3@:1", when="@2.18:", type=("build", "run"))
|
||||
|
||||
with when("+aiohttp"):
|
||||
depends_on("py-aiohttp@3.6.2:3", type=("build", "run"))
|
||||
depends_on("py-requests@2.20:2", when="@1.30.2:", type=("build", "run"))
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
|
||||
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
from spack.package import *
|
||||
|
||||
|
||||
class PyGoogleReauth(PythonPackage):
|
||||
"""Google Reauth Library."""
|
||||
|
||||
homepage = "https://github.com/Google/google-reauth-python"
|
||||
pypi = "google-reauth/google-reauth-0.1.1.tar.gz"
|
||||
|
||||
version("0.1.1", sha256="f9f6852a55c2c5453d581cd01f3d1278e86147c03d008409800390a834235892")
|
||||
|
||||
depends_on("py-setuptools", type="build")
|
||||
depends_on("py-pyu2f", type=("build", "run"))
|
||||
@@ -11,33 +11,23 @@ class PyGsutil(PythonPackage):
|
||||
|
||||
homepage = "https://cloud.google.com/storage/docs/gsutil"
|
||||
pypi = "gsutil/gsutil-4.59.tar.gz"
|
||||
git = "https://github.com/GoogleCloudPlatform/gsutil.git"
|
||||
|
||||
maintainers("dorton21")
|
||||
|
||||
version("5.24", sha256="1f841645cda40fcc817e9ca84d285cdf541cc015fd38a5862017b085756729a0")
|
||||
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@3:", when="@5:", 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.20.4", when="@5.17:", type=("build", "run"))
|
||||
depends_on("py-httplib2@0.18:", type=("build", "run"))
|
||||
depends_on("py-google-reauth@0.1.0:", 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("py-google-auth+aiohttp@2.5:", when="@5.7:", type=("build", "run"))
|
||||
|
||||
# Historical dependencies
|
||||
depends_on("py-mock@2:3.0.5", when="@:4.67", type=("build", "run"))
|
||||
|
||||
skip_modules = ["gslib.vendored"]
|
||||
|
||||
@@ -12,13 +12,7 @@ class PyHttplib2(PythonPackage):
|
||||
homepage = "https://github.com/httplib2/httplib2"
|
||||
pypi = "httplib2/httplib2-0.13.1.tar.gz"
|
||||
|
||||
version("0.22.0", sha256="d7a10bc5ef5ab08322488bde8c726eeee5c8618723fdb399597ec58f3d82df81")
|
||||
version("0.20.4", sha256="58a98e45b4b1a48273073f905d2961666ecf0fbac4250ea5b47aef259eb5c585")
|
||||
version("0.18.0", sha256="b0e1f3ed76c97380fe2485bc47f25235453b40ef33ca5921bb2897e257a49c4c")
|
||||
version("0.13.1", sha256="6901c8c0ffcf721f9ce270ad86da37bc2b4d32b8802d4a9cec38274898a64044")
|
||||
|
||||
depends_on("py-setuptools@40.8.0:", when="@0.18.1:", type="build")
|
||||
depends_on("py-setuptools", type="build")
|
||||
|
||||
depends_on("py-pyparsing@2.4.2:3", when="@0.19:", type=("build", "run"))
|
||||
conflicts("^py-pyparsing@3.0.1:3.0.3", when="@0.19:")
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
|
||||
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
from spack.package import *
|
||||
|
||||
|
||||
class PyIterativeStats(PythonPackage):
|
||||
"""Bacis iterative statistics implementation."""
|
||||
|
||||
pypi = "iterative-stats/iterative_stats-0.0.4.tar.gz"
|
||||
git = "https://github.com/IterativeStatistics/BasicIterativeStatistics.git"
|
||||
maintainers("frobinou")
|
||||
|
||||
version("main", branch="main")
|
||||
version("0.0.4", sha256="7e838aa79de867b0e312be8cdf9319bb70824b624c684e968636cc8d4c9d5712")
|
||||
|
||||
# main dependencies
|
||||
depends_on("python@3.8.0:3.10", type=("build", "run"))
|
||||
depends_on("py-poetry-core@1.0.0:", type=("build"))
|
||||
depends_on("py-pyyaml@6.0", type=("build", "run"))
|
||||
depends_on("py-numpy@1.19:1", type=("build", "run"))
|
||||
|
||||
# dev dependencies
|
||||
depends_on("py-pytest@6.2.1:6", type=("test"))
|
||||
depends_on("py-autopep8@1.6.0", type=("test"))
|
||||
depends_on("openturns@1.19+python+libxml2", type=("test"))
|
||||
depends_on("py-scipy@1.8", type=("test"))
|
||||
|
||||
@run_after("install")
|
||||
@on_package_attributes(run_tests=True)
|
||||
def install_test(self):
|
||||
pytest = which("pytest")
|
||||
pytest()
|
||||
@@ -12,14 +12,13 @@ class PyLibensemble(PythonPackage):
|
||||
"""Library for managing ensemble-like collections of computations."""
|
||||
|
||||
homepage = "https://libensemble.readthedocs.io"
|
||||
pypi = "libensemble/libensemble-0.10.0.tar.gz"
|
||||
pypi = "libensemble/libensemble-0.9.3.tar.gz"
|
||||
git = "https://github.com/Libensemble/libensemble.git"
|
||||
maintainers("shuds13", "jlnav")
|
||||
|
||||
tags = ["e4s"]
|
||||
|
||||
version("develop", branch="develop")
|
||||
version("0.10.0", sha256="f800f38d02def526f1d2a325710d01fdd3637cd1e33a9a083a3cf4a7f419a726")
|
||||
version("0.9.3", sha256="00e5a65d6891feee6a686c048d8de72097b8bff164431f163be96ec130a9c390")
|
||||
version("0.9.2", sha256="e46598e5696f770cbff4cb90507b52867faad5654f1b80de35405a95228c909f")
|
||||
version("0.9.1", sha256="684e52b0ea64f5ec610e7868b7e4c9fa5fd2316a370a726870aa5fd5fb1b0ede")
|
||||
@@ -45,13 +44,11 @@ class PyLibensemble(PythonPackage):
|
||||
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("py-setuptools", type="build")
|
||||
depends_on("py-numpy", type=("build", "run"))
|
||||
depends_on("py-psutil", type=("build", "run"), when="@0.7.1:")
|
||||
depends_on("py-setuptools", type=("build", "run"))
|
||||
depends_on("py-pydantic", type=("build", "run"), when="@0.10:")
|
||||
depends_on("py-tomli", type=("build", "run"), when="@0.10:")
|
||||
depends_on("py-pyyaml", type=("build", "run"), when="@0.10:")
|
||||
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")
|
||||
@@ -63,6 +60,7 @@ class PyLibensemble(PythonPackage):
|
||||
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")
|
||||
|
||||
@@ -15,8 +15,6 @@ class PyLightly(PythonPackage):
|
||||
|
||||
maintainers("adamjstewart")
|
||||
|
||||
version("1.4.9", sha256="33c7988b41447c9beeb1781805ad24c8a61aa174e1a37b0b95d8e91e4a7c7f96")
|
||||
version("1.4.8", sha256="3af5d8da0ac981f362bd61cbd4935dadbc32d24995c40ac2a511e6d743a03fd7")
|
||||
version("1.4.7", sha256="dce719996d9b01b2a3c652e9cbab3ff80d078c4ed86d1adb39220d20e1f3fdf2")
|
||||
version("1.4.6", sha256="1c8b904a96fadaefbaa00296eea0ac1e8b50cb10e94595c74b0abada5f4f5a64")
|
||||
version("1.4.5", sha256="67b1de64950ff5bc35ef86fec3049f437ed1c9cb4a191c43b52384460207535f")
|
||||
@@ -39,12 +37,6 @@ class PyLightly(PythonPackage):
|
||||
depends_on("py-tqdm@4.44:", type=("build", "run"))
|
||||
depends_on("py-urllib3@1.15.1:", type=("build", "run"))
|
||||
|
||||
# requirements/openapi.txt
|
||||
depends_on("py-python-dateutil@2.5.3:", when="@1.4.8:", type=("build", "run"))
|
||||
depends_on("py-urllib3@1.25.3:", when="@1.4.8:", type=("build", "run"))
|
||||
depends_on("py-pydantic@1.10.5:1", when="@1.4.8:", type=("build", "run"))
|
||||
depends_on("py-aenum@3.1.11:", when="@1.4.8:", type=("build", "run"))
|
||||
|
||||
# requirements/torch.txt
|
||||
depends_on("py-torch", type=("build", "run"))
|
||||
depends_on("py-torch@:1", when="@:1.4.1", type=("build", "run"))
|
||||
@@ -56,5 +48,4 @@ class PyLightly(PythonPackage):
|
||||
depends_on("py-torch+distributed", when="@:1.4.4", type=("build", "run"))
|
||||
|
||||
# Historical dependencies
|
||||
depends_on("py-setuptools@21:", when="@1.4.8", type=("build", "run"))
|
||||
depends_on("py-setuptools@21:65.5.1", when="@:1.4.1", type=("build", "run"))
|
||||
|
||||
@@ -18,51 +18,141 @@ class PyMdanalysis(PythonPackage):
|
||||
|
||||
maintainers("RMeli")
|
||||
|
||||
version("2.5.0", sha256="06ce4efab6ca1dbd2ee2959fc668049e1d574a8fe94ab948a4608244da1d016b")
|
||||
version("2.4.3", sha256="c4fbdc414e4fdda69052fff2a6e412180fe6fa90a42c24793beee04123648c92")
|
||||
version("2.4.2", sha256="ae2ee5627391e73f74eaa3c547af3ec6ab8b040d27dedffe3a7ece8e0cd27636")
|
||||
version(
|
||||
"1.0.0",
|
||||
sha256="f45a024aca45e390ff1c45ca90beb2180b78881be377e2a1aa9cd6c109bcfa81",
|
||||
deprecated=True,
|
||||
)
|
||||
version(
|
||||
"0.20.1",
|
||||
sha256="d04b71b193b9716d2597ffb9938b93f43487fa535da1bb5c1f2baccf356d7df9",
|
||||
deprecated=True,
|
||||
)
|
||||
version(
|
||||
"0.19.2",
|
||||
sha256="c5395bbafa5efca2e1aee4715d26129844140c47cb8301da0293106cb969de7d",
|
||||
deprecated=True,
|
||||
)
|
||||
version(
|
||||
"0.19.1",
|
||||
sha256="ff1d694f8598c0833ec340de6a6adb3b5e62b92d0fa94ee6401718ba972db3cc",
|
||||
deprecated=True,
|
||||
)
|
||||
version(
|
||||
"0.19.0",
|
||||
sha256="248e3b37fc6150e31c609cc18a3927c32aee37b76d29cbfedf635e7e1aa982cf",
|
||||
deprecated=True,
|
||||
)
|
||||
version(
|
||||
"0.18.0",
|
||||
sha256="a08acea1755112411e7db55e3f282e164b47a59e15794b38744cce6c596f252a",
|
||||
deprecated=True,
|
||||
)
|
||||
version(
|
||||
"0.17.0",
|
||||
sha256="9bd61760334698cc7b8a57ad26456451e926e9c9e66722594ad8816561348cde",
|
||||
deprecated=True,
|
||||
)
|
||||
version(
|
||||
"0.16.2",
|
||||
sha256="407d9a9ff1ab8a5e47973714d06fabff220f8d08a28792dee93e88e70e995b0a",
|
||||
deprecated=True,
|
||||
)
|
||||
version(
|
||||
"0.16.1",
|
||||
sha256="3dc8f5d639ab3a0d152cbd7259ae9372ec8a9bac0f8cb7d3b80ce5adc1e3ee57",
|
||||
deprecated=True,
|
||||
)
|
||||
version(
|
||||
"0.16.0",
|
||||
sha256="c4824fa1fddd336daa39371436187ebb023366885fb250c2827ed7fce2546bd4",
|
||||
deprecated=True,
|
||||
)
|
||||
version(
|
||||
"0.15.0",
|
||||
sha256="9088786048b47339cba1f8a586977bbb3bb04ae1bcd0462b59e45bda37e25533",
|
||||
deprecated=True,
|
||||
)
|
||||
|
||||
variant(
|
||||
"analysis",
|
||||
default=True,
|
||||
description="Enable analysis packages: matplotlib, scipy, seaborn",
|
||||
)
|
||||
variant("extra_formats", default=False, description="Support extra formats")
|
||||
variant("amber", default=False, when="@:1.0.0", description="Support AMBER netcdf format.")
|
||||
variant("extra_formats", default=False, when="@2.4.0:", description="Support extra formats")
|
||||
|
||||
depends_on("python@3.9:", type=("build", "run"), when="@2.5.0:")
|
||||
depends_on("python@3.8:", type=("build", "run"))
|
||||
depends_on("python@2.7:", type=("build", "run"), when="@:1.0.0")
|
||||
depends_on("python@3.8:", type=("build", "run"), when="@2.4.0:")
|
||||
|
||||
depends_on("py-setuptools", type="build")
|
||||
|
||||
depends_on("py-cython@0.28:", type="build")
|
||||
depends_on("py-cython@0.16:", type="build", when="@:1.0.0")
|
||||
depends_on("py-cython@0.28:", type="build", when="@2.4.0:")
|
||||
|
||||
# MDAnalysis required dependencies (install_requires)
|
||||
depends_on("py-numpy@1.21.0:", when="@2.5.0:", type=("build", "run"))
|
||||
depends_on("py-numpy@1.20.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:1.0.0", type=("build", "run"))
|
||||
depends_on("py-numpy@1.20.0:", when="@2.4.0:", type=("build", "run"))
|
||||
|
||||
depends_on("py-biopython@1.80:", type=("build", "run"))
|
||||
depends_on("py-networkx@2.0:", type=("build", "run"))
|
||||
depends_on("py-griddataformats@0.4.0:", type=("build", "run"))
|
||||
depends_on("py-mmtf-python@1.0.0:", type=("build", "run"))
|
||||
depends_on("py-joblib@0.12:", 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:1.0.0", type=("build", "run"))
|
||||
depends_on("py-biopython@1.80:", when="@2.4.0:", type=("build", "run"))
|
||||
|
||||
depends_on("py-scipy@1.5.0:", type=("build", "run"))
|
||||
depends_on("py-networkx@1.0:", type=("build", "run"), when="@:1.0.0")
|
||||
depends_on("py-networkx@2.0:", type=("build", "run"), when="@2.4.0:")
|
||||
|
||||
depends_on("py-matplotlib@1.5.1:", type=("build", "run"))
|
||||
depends_on("py-tqdm@4.43.0:", type=("build", "run"))
|
||||
depends_on("py-threadpoolctl", type=("build", "run"))
|
||||
depends_on("py-packaging", type=("build", "run"))
|
||||
depends_on("py-fasteners", type=("build", "run"))
|
||||
depends_on("py-gsd@1.9.3:", type=("build", "run"))
|
||||
depends_on("py-griddataformats@0.3.2:", when="@:0.16.2", type=("build", "run"))
|
||||
depends_on("py-griddataformats@0.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-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-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:1.0.0", type=("build", "run"))
|
||||
depends_on("py-scipy@1.5.0:", when="@2.4.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-tqdm@4.43.0:", when="@1.0.0:", type=("build", "run"))
|
||||
|
||||
depends_on("py-threadpoolctl", type=("build", "run"), when="@2.4.0:") # Requirement from
|
||||
|
||||
depends_on("py-packaging", when="@2.4.2:", type=("build", "run"))
|
||||
|
||||
depends_on("py-fasteners", when="@2.4.2:", type=("build", "run"))
|
||||
|
||||
depends_on("py-gsd@1.4.0:", when="@0.17.0:1.0.0", type=("build", "run"))
|
||||
depends_on("py-gsd@1.9.3:", when="@2.4.0:", type=("build", "run"))
|
||||
|
||||
# extra_format (extras_require)
|
||||
depends_on("py-netcdf4@1.0:", when="+amber", type=("build", "run"))
|
||||
depends_on("py-netcdf4@1.0:", when="+extra_formats", type=("build", "run"))
|
||||
|
||||
depends_on("hdf5", when="+amber", type=("run"))
|
||||
depends_on("py-h5py@2.10:", when="+extra_formats", type=("build", "run"))
|
||||
depends_on("py-chemfiles@0.10:", when="+extra_formats", type=("build", "run"))
|
||||
depends_on("py-pyedr@0.7.0:", when="+extra_formats", type=("build", "run"))
|
||||
depends_on("py-pytng@0.2.3:", when="+extra_formats", type=("build", "run"))
|
||||
|
||||
depends_on("py-pytng@0.2.3:", when="@2.4.0:+extra_formats", type=("build", "run"))
|
||||
|
||||
depends_on("py-chemfiles@0.10:", when="@2.4.0:+extra_formats", type=("build", "run"))
|
||||
|
||||
depends_on("py-pyedr@0.7.0:", when="@2.4.0:+extra_formats", type=("build", "run"))
|
||||
|
||||
# analysis (extras_require)
|
||||
depends_on("py-seaborn", when="+analysis", type=("build", "run"))
|
||||
depends_on("py-scikit-learn", when="+analysis", type=("build", "run"))
|
||||
depends_on("py-tidynamics@1:", when="+analysis", type=("build", "run"))
|
||||
|
||||
depends_on("py-scikit-learn", when="@0.16.0:+analysis", type=("build", "run"))
|
||||
|
||||
depends_on("py-tidynamics@1:", when="@2.4.0:+analysis", type=("build", "run"))
|
||||
|
||||
# Deprecated after @1
|
||||
depends_on("py-mock", when="@0.18.0:1.0.0", type=("build", "run"))
|
||||
depends_on("py-six@1.4.0:", type=("build", "run"), when="@:1.0.0")
|
||||
|
||||
@@ -14,16 +14,13 @@ class PyMdanalysistests(PythonPackage):
|
||||
|
||||
maintainers("RMeli")
|
||||
|
||||
version("2.5.0", sha256="a15b53b7f8bed67900a2bf542bbb3cab81dc71674fa6cddb3248dd11880e4c9d")
|
||||
version("2.4.3", sha256="6fbdeccdbfb249f76520ee3605d007cd70292187e3754d0184c71e5afe133abb")
|
||||
version("2.4.2", sha256="6e8fb210a4268691c77717ea5157e82d85874a4f7ee0f8f177718451a44ee793")
|
||||
|
||||
# Version need to match MDAnalysis'
|
||||
depends_on("py-mdanalysis@2.5.0", when="@2.5.0", type=("build", "run"))
|
||||
depends_on("py-mdanalysis@2.4.3", when="@2.4.3", type=("build", "run"))
|
||||
depends_on("py-mdanalysis@2.4.2", when="@2.4.2", type=("build", "run"))
|
||||
|
||||
depends_on("python@3.9:", when="@2.5.0", type=("build", "run"))
|
||||
depends_on("python@3.8:", type=("build", "run"))
|
||||
|
||||
depends_on("py-pytest@3.3.0:", type=("build", "run"))
|
||||
|
||||
@@ -12,9 +12,7 @@ class PyNetworkx(PythonPackage):
|
||||
|
||||
homepage = "https://networkx.github.io/"
|
||||
pypi = "networkx/networkx-2.4.tar.gz"
|
||||
git = "https://github.com/networkx/networkx.git"
|
||||
|
||||
version("3.1", sha256="de346335408f84de0eada6ff9fafafff9bcda11f0a0dfaa931133debb146ab61")
|
||||
version("2.8.6", sha256="bd2b7730300860cbd2dafe8e5af89ff5c9a65c3975b352799d87a6238b4301a6")
|
||||
version("2.7.1", sha256="d1194ba753e5eed07cdecd1d23c5cd7a3c772099bd8dbd2fea366788cf4de7ba")
|
||||
version("2.6.3", sha256="c0946ed31d71f1b732b5aaa6da5a0388a345019af232ce2f49c766e2d6795c51")
|
||||
@@ -28,46 +26,32 @@ class PyNetworkx(PythonPackage):
|
||||
version("1.11", sha256="0d0e70e10dfb47601cbb3425a00e03e2a2e97477be6f80638fef91d54dd1e4b8")
|
||||
version("1.10", sha256="ced4095ab83b7451cec1172183eff419ed32e21397ea4e1971d92a5808ed6fb8")
|
||||
|
||||
variant("default", default=True, description="Enable installation of default dependencies.")
|
||||
|
||||
# variant would be available for earlier versions as well, but then the
|
||||
# dependencies increase a lot
|
||||
variant(
|
||||
"extra",
|
||||
default=False,
|
||||
when="@2.5:",
|
||||
description="Optional requirements that may require extra steps to install",
|
||||
default=False,
|
||||
)
|
||||
|
||||
depends_on("python@3.8:", when="@2.7:", type=("build", "run"))
|
||||
depends_on("python@2.7:", type=("build", "run"))
|
||||
depends_on("python@3.5:", when="@2.3:", type=("build", "run"))
|
||||
depends_on("python@3.6:", when="@2.5:", type=("build", "run"))
|
||||
depends_on("python@3.7:", when="@2.6:", type=("build", "run"))
|
||||
depends_on("python@3.8:", when="@2.7:", type=("build", "run"))
|
||||
depends_on("py-setuptools", type="build")
|
||||
|
||||
with when("+default"):
|
||||
# From requirements/default.txt
|
||||
depends_on("py-numpy@1.20:", when="@3:", type=("build", "run"))
|
||||
depends_on("py-numpy@1.19:", when="@2.8.6:", type=("build", "run"))
|
||||
depends_on("py-scipy@1.8:", when="@2.8.6:", type=("build", "run"))
|
||||
depends_on("py-matplotlib@3.4:", when="@2.8.6:", type=("build", "run"))
|
||||
depends_on("py-pandas@1.3:", when="@2.8.6:", type=("build", "run"))
|
||||
|
||||
# Historical dependencies
|
||||
depends_on("py-decorator@4.3.0:4", when="@2.5.1:2.5", type=("build", "run"))
|
||||
depends_on("py-decorator@4.3.0:", when="@2.2:2.4", type=("build", "run"))
|
||||
depends_on("py-decorator@4.1.0:", when="@2.0:2.1", type=("build", "run"))
|
||||
depends_on("py-decorator@3.4.0:", when="@:1", type=("build", "run"))
|
||||
|
||||
with when("+extra"):
|
||||
# From requirements/extra.txt
|
||||
depends_on("py-lxml@4.6:", when="@2.7:", type=("build", "run"))
|
||||
depends_on("py-lxml@4.5:", when="@2.6:", type=("build", "run"))
|
||||
depends_on("py-pygraphviz@1.10:", when="@3:", type=("build", "run"))
|
||||
depends_on("py-pygraphviz@1.9:", when="@2.7:", type=("build", "run"))
|
||||
depends_on("py-pygraphviz@1.7:", when="@2.6:", type=("build", "run"))
|
||||
depends_on("py-pygraphviz@1.5:1", type=("build", "run"))
|
||||
depends_on("py-pydot@1.4.2:", when="@2.7:", type=("build", "run"))
|
||||
depends_on("py-pydot@1.4.1:", type=("build", "run"))
|
||||
depends_on("py-sympy@1.10:", when="@2.8:", type=("build", "run"))
|
||||
depends_on("py-decorator@3.4.0:", when="@:1", type=("build", "run"))
|
||||
depends_on("py-decorator@4.1.0:", when="@2.0:2.1", type=("build", "run"))
|
||||
depends_on("py-decorator@4.3.0:", when="@2.2:2.4", type=("build", "run"))
|
||||
depends_on("py-decorator@4.3.0:4", when="@2.5.1:2.5", type=("build", "run"))
|
||||
# From requirements/default.txt
|
||||
depends_on("py-numpy@1.19:", when="@2.8.6:", type=("build", "run"))
|
||||
depends_on("py-scipy@1.8:", when="@2.8.6:", type=("build", "run"))
|
||||
depends_on("py-matplotlib@3.4:", when="@2.8.6:", type=("build", "run"))
|
||||
depends_on("py-pandas@1.3:", when="@2.8.6:", type=("build", "run"))
|
||||
# From requirements/extra.txt
|
||||
depends_on("py-lxml@4.6:", when="@2.8.6:+extra", type=("build", "run"))
|
||||
depends_on("py-pygraphviz@1.9:", when="@2.8.6:+extra", type=("build", "run"))
|
||||
depends_on("py-pydot@1.4.2:", when="@2.8.6:+extra", type=("build", "run"))
|
||||
depends_on("py-sympy@1.10:", when="@2.8.6:+extra", type=("build", "run"))
|
||||
|
||||
def url_for_version(self, version):
|
||||
ext = "tar.gz"
|
||||
|
||||
@@ -12,9 +12,8 @@ class PyNodeenv(PythonPackage):
|
||||
homepage = "https://github.com/ekalinin/nodeenv"
|
||||
pypi = "nodeenv/nodeenv-1.3.3.tar.gz"
|
||||
|
||||
version("1.8.0", sha256="d51e0c37e64fbf47d017feac3145cdbb58836d7eee8c6f6d3b6880c5456227d2")
|
||||
version("1.7.0", sha256="e0e7f7dfb85fc5394c6fe1e8fa98131a2473e04311a45afb6508f7cf1836fa2b")
|
||||
version("1.3.3", sha256="ad8259494cf1c9034539f6cced78a1da4840a4b157e23640bc4a0c0546b0cb7a")
|
||||
|
||||
depends_on("py-setuptools", when="@1.7:", type=("build", "run"))
|
||||
depends_on("py-setuptools", type="build")
|
||||
depends_on("py-setuptools", when="@1.7:", type=("build", "run"))
|
||||
|
||||
@@ -13,7 +13,6 @@ class PyNotebook(PythonPackage):
|
||||
homepage = "https://github.com/jupyter/notebook"
|
||||
pypi = "notebook/notebook-6.1.4.tar.gz"
|
||||
|
||||
version("6.5.4", sha256="517209568bd47261e2def27a140e97d49070602eea0d226a696f42a7f16c9a4e")
|
||||
version("6.4.12", sha256="6268c9ec9048cff7a45405c990c29ac9ca40b0bc3ec29263d218c5e01f2b4e86")
|
||||
version("6.4.11", sha256="709b1856a564fe53054796c80e17a67262071c86bfbdfa6b96aaa346113c555a")
|
||||
version("6.4.5", sha256="872e20da9ae518bbcac3e4e0092d5bd35454e847dedb8cb9739e9f3b68406be0")
|
||||
@@ -38,42 +37,42 @@ class PyNotebook(PythonPackage):
|
||||
version("4.0.4", sha256="a57852514bce1b1cf41fa0311f6cf894960cf68b083b55e6c408316b598d5648")
|
||||
version("4.0.2", sha256="8478d7e2ab474855b0ff841f693983388af8662d3af1adcb861acb900274f22a")
|
||||
|
||||
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-packaging@0.9:0', when='@6.4.1:', type='build')
|
||||
|
||||
depends_on("py-setuptools", when="@5:", type="build")
|
||||
depends_on("py-setuptools", type=("build", "run"), when="@5:")
|
||||
depends_on("py-jinja2", type=("build", "run"))
|
||||
depends_on("py-tornado@6.1:", when="@6.4.5:", type=("build", "run"))
|
||||
depends_on("py-tornado@5.0:", when="@6:", type=("build", "run"))
|
||||
depends_on("py-tornado@4.1:6", when="@5.7.5:5", type=("build", "run"))
|
||||
depends_on("py-tornado@4.0:6", when="@:5.7.4", type=("build", "run"))
|
||||
depends_on("py-pyzmq@17:", when="@6:", type=("build", "run"))
|
||||
depends_on("py-argon2-cffi", when="@6.1:", type=("build", "run"))
|
||||
depends_on("py-traitlets@4.2.1:", when="@5:", 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-jupyter-core@4.6.1:", when="@6.0.3:", type=("build", "run"))
|
||||
depends_on("py-jupyter-core@4.6.0:", when="@6.0.2", type=("build", "run"))
|
||||
depends_on("py-jupyter-core@4.4.0:", when="@5.7.0:6.0.1", 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-client@5.3.4:", when="@6.0.2:", type=("build", "run"))
|
||||
depends_on("py-jupyter-client@5.3.1:", when="@6.0.0:6.0.1", type=("build", "run"))
|
||||
depends_on("py-jupyter-client@5.2.0:", when="@5.7.0:5", 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:", when="@5.5:", type=("build", "run"))
|
||||
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:", when="@6.4.10:", 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@1.8:", when="@6.4.10:", type=("build", "run"))
|
||||
depends_on("py-send2trash@1.5:", when="@6.2.0:", type=("build", "run"))
|
||||
depends_on("py-send2trash", when="@6:", type=("build", "run"))
|
||||
depends_on("py-terminado@0.8.3:", when="@6.1:", type=("build", "run"))
|
||||
depends_on("py-terminado@0.8.1:", when="@5.7.0:", type=("build", "run"))
|
||||
depends_on("py-terminado@0.3.3:", when="@:5.7.0", type=("build", "run"))
|
||||
depends_on("py-prometheus-client", when="@5.7.0:", type=("build", "run"))
|
||||
depends_on("py-nbclassic@0.4.7:", when="@6.5:", 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:")
|
||||
|
||||
@@ -12,7 +12,6 @@ class PyNumexpr(PythonPackage):
|
||||
homepage = "https://github.com/pydata/numexpr"
|
||||
url = "https://github.com/pydata/numexpr/archive/v2.7.0.tar.gz"
|
||||
|
||||
version("2.8.4", sha256="0e21addd25db5f62d60d97e4380339d9c1fb2de72c88b070c279776ee6455d10")
|
||||
version("2.8.3", sha256="389ceefca74eff30ec3fd03fc4c3b7ab3df8f22d1f235117a392ce702ed208c0")
|
||||
version("2.7.3", sha256="00d6b1518605afe0ed10417e0ff07123e5d531c02496c6eed7dd4b9923238e1e")
|
||||
version("2.7.2", sha256="7d1b3790103221feda07f4a93a4fa5c6654f46865197a677ca6f27eb5cb4e5ef")
|
||||
@@ -24,11 +23,10 @@ class PyNumexpr(PythonPackage):
|
||||
version("2.4.6", sha256="2681faf55a3f19ba4424cc3d6f0a10610ebd49f029f8453f0ba64dd5c0fe4e0f")
|
||||
|
||||
depends_on("python@3.7:", when="@2.8.3:", type=("build", "run"))
|
||||
depends_on("py-setuptools", type="build")
|
||||
|
||||
depends_on("py-numpy@1.13.3:", type=("build", "run"), when="@2.8.3:")
|
||||
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"), when="@:2.7")
|
||||
|
||||
# Historical dependencies
|
||||
depends_on("py-packaging", type=("build", "run"), when="@2.8.3")
|
||||
depends_on("py-numpy@1.13.3:", type=("build", "run"), when="@2.8.3:")
|
||||
depends_on("py-setuptools", type="build")
|
||||
depends_on("py-packaging", type=("build", "run"), when="@2.8.3:")
|
||||
|
||||
@@ -23,7 +23,6 @@ class PyNumpy(PythonPackage):
|
||||
maintainers("adamjstewart", "rgommers")
|
||||
|
||||
version("main", branch="main")
|
||||
version("1.25.0", sha256="f1accae9a28dc3cda46a91de86acf69de0d1b5f4edd44a9b0c3ceb8036dfff19")
|
||||
version("1.24.3", sha256="ab344f1bf21f140adab8e47fdbc7c35a477dc01408791f8ba00d018dd0bc5155")
|
||||
version("1.24.2", sha256="003a9f530e880cb2cd177cba1af7220b9aa42def9c4afc2a2fc3ee6be7eb2b22")
|
||||
version("1.24.1", sha256="2386da9a471cc00a1f47845e27d916d5ec5346ae9696e01a8a34760858fe9dd2")
|
||||
@@ -88,8 +87,7 @@ class PyNumpy(PythonPackage):
|
||||
variant("lapack", default=True, description="Build with LAPACK support")
|
||||
|
||||
# Based on wheel availability on PyPI
|
||||
depends_on("python@3.9:3.11", when="@1.25:", type=("build", "link", "run"))
|
||||
depends_on("python@3.8:3.11", when="@1.23.2:1.24", type=("build", "link", "run"))
|
||||
depends_on("python@3.8:3.11", when="@1.23.2:", type=("build", "link", "run"))
|
||||
depends_on("python@3.8:3.10", when="@1.22:1.23.1", type=("build", "link", "run"))
|
||||
depends_on("python@:3.10", when="@1.21.2:1.21", type=("build", "link", "run"))
|
||||
depends_on("python@:3.9", when="@1.19.3:1.21.1", type=("build", "link", "run"))
|
||||
@@ -100,7 +98,6 @@ class PyNumpy(PythonPackage):
|
||||
depends_on("py-setuptools@:63", 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.34:2", when="@1.25:", type="build")
|
||||
depends_on("py-cython@0.29.13:2", when="@1.18.0:", type="build")
|
||||
depends_on("py-cython@0.29.14:2", when="@1.18.1:", type="build")
|
||||
depends_on("py-cython@0.29.21:2", when="@1.19.1:", type="build")
|
||||
|
||||
@@ -12,7 +12,6 @@ class PyPackaging(PythonPackage):
|
||||
homepage = "https://github.com/pypa/packaging"
|
||||
pypi = "packaging/packaging-19.2.tar.gz"
|
||||
|
||||
version("23.1", sha256="a392980d2b6cffa644431898be54b0045151319d1e7ec34f0cfed48767dd334f")
|
||||
version("23.0", sha256="b6ad297f8907de0fa2fe1ccbd26fdaf387f5f47c7275fedf8cce89f99446cf97")
|
||||
version("21.3", sha256="dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb")
|
||||
version("21.0", sha256="7dc96269f53a4ccec5c0670940a4281106dd0bb343f47b7471f779df49c2fbe7")
|
||||
|
||||
@@ -14,7 +14,6 @@ class PyPatsy(PythonPackage):
|
||||
homepage = "https://github.com/pydata/patsy"
|
||||
pypi = "patsy/patsy-0.5.2.tar.gz"
|
||||
|
||||
version("0.5.3", sha256="bdc18001875e319bc91c812c1eb6a10be4bb13cb81eb763f466179dca3b67277")
|
||||
version("0.5.2", sha256="5053de7804676aba62783dbb0f23a2b3d74e35e5bfa238b88b7cbf148a38b69d")
|
||||
version("0.5.1", sha256="f115cec4201e1465cd58b9866b0b0e7b941caafec129869057405bfe5b5e3991")
|
||||
version(
|
||||
@@ -25,9 +24,7 @@ class PyPatsy(PythonPackage):
|
||||
variant("splines", default=False, description="Offers spline related functions")
|
||||
|
||||
depends_on("py-setuptools", type="build")
|
||||
|
||||
depends_on("py-six", type=("build", "run"))
|
||||
depends_on("py-numpy@1.4:", type=("build", "run"), when="@0.5.1:")
|
||||
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"))
|
||||
|
||||
@@ -16,10 +16,6 @@ class PyPicmistandard(PythonPackage):
|
||||
maintainers("ax3l", "dpgrote", "RemiLehe")
|
||||
|
||||
version("develop", branch="master")
|
||||
version("0.25.0", sha256="0a78b3b17054d0861626287ace1fb9321469a9c95795b92981103b27d7797f67")
|
||||
version("0.24.0", sha256="55a82adcc14b41eb612caf0d9e47b0e2a56ffc196a58b41fa0cc395c6924be9a")
|
||||
version("0.23.2", sha256="e6b4c46b23520d0a97b904df90d53ff6a3209b2b6b2fa741f684c594429a591c")
|
||||
version("0.23.1", sha256="90ad1d3d2759d910cfdb88484516b7d0434ec98e881af46961b7e2faa534434d")
|
||||
version("0.0.22", sha256="e234a431274254b22cd70be64d6555b383d98426b2763ea0c174cf77bf4d0890")
|
||||
version("0.0.21", sha256="930056a23ed92dac7930198f115b6248606b57403bffebce3d84579657c8d10b")
|
||||
version("0.0.20", sha256="9c1822eaa2e4dd543b5afcfa97940516267dda3890695a6cf9c29565a41e2905")
|
||||
|
||||
@@ -12,9 +12,9 @@ class PyPkginfo(PythonPackage):
|
||||
homepage = "https://code.launchpad.net/~tseaver/pkginfo/trunk"
|
||||
pypi = "pkginfo/pkginfo-1.5.0.1.tar.gz"
|
||||
|
||||
version("1.9.6", sha256="8fd5896e8718a4372f0ea9cc9d96f6417c9b986e23a4d116dda26b62cc29d046")
|
||||
version("1.8.3", sha256="a84da4318dd86f870a9447a8c98340aa06216bfc6f2b7bdc4b8766984ae1867c")
|
||||
version("1.7.1", sha256="e7432f81d08adec7297633191bbf0bd47faf13cd8724c3a13250e51d542635bd")
|
||||
version("1.5.0.1", sha256="7424f2c8511c186cd5424bbf31045b77435b37a8d604990b79d4e70d741148bb")
|
||||
|
||||
depends_on("py-setuptools", type="build")
|
||||
depends_on("py-setuptools", type=("build", "run"))
|
||||
depends_on("python@2.7:2,3.6:", when="@1.8.3:", type=("build", "run"))
|
||||
|
||||
@@ -14,7 +14,6 @@ class PyPlatformdirs(PythonPackage):
|
||||
homepage = "https://github.com/platformdirs/platformdirs"
|
||||
pypi = "platformdirs/platformdirs-2.4.0.tar.gz"
|
||||
|
||||
version("3.5.3", sha256="e48fabd87db8f3a7df7150a4a5ea22c546ee8bc39bc2473244730d4b56d2cc4e")
|
||||
version("3.5.0", sha256="7954a68d0ba23558d753f73437c55f89027cf8f5108c19844d4b82e5af396335")
|
||||
version("3.1.1", sha256="024996549ee88ec1a9aa99ff7f8fc819bb59e2c3477b410d90a16d32d6e707aa")
|
||||
version("2.5.2", sha256="58c8abb07dcb441e6ee4b11d8df0ac856038f944ab98b7be6b27b2a3c7feef19")
|
||||
@@ -32,12 +31,10 @@ class PyPlatformdirs(PythonPackage):
|
||||
depends_on("python@3.7:", when="@2.4.1:", type=("build", "run"))
|
||||
depends_on("py-hatch-vcs@0.3:", when="@3:", type="build")
|
||||
depends_on("py-hatch-vcs", when="@2.5.2:", type="build")
|
||||
depends_on("py-hatchling@1.17:", when="@3.5.2:", type="build")
|
||||
depends_on("py-hatchling@1.14:", when="@3.3:", type="build")
|
||||
depends_on("py-hatchling@1.12.2:", when="@3:", type="build")
|
||||
depends_on("py-hatchling@0.22.0:", when="@2.5.2:", type="build")
|
||||
|
||||
depends_on("py-typing-extensions@4.6.3:", when="@3.5.2: ^python@:3.7", type=("build", "run"))
|
||||
depends_on("py-typing-extensions@4.5:", when="@3.2: ^python@:3.7", type=("build", "run"))
|
||||
depends_on("py-typing-extensions@4.4:", when="@3: ^python@:3.7", type=("build", "run"))
|
||||
|
||||
|
||||
@@ -14,20 +14,12 @@ class PyPooch(PythonPackage):
|
||||
homepage = "https://github.com/fatiando/pooch"
|
||||
pypi = "pooch/pooch-1.3.0.tar.gz"
|
||||
|
||||
version("1.7.0", sha256="f174a1041b6447f0eef8860f76d17f60ed2f857dc0efa387a7f08228af05d998")
|
||||
version("1.5.2", sha256="5969b2f1defbdc405df932767e05e0b536e2771c27f1f95d7f260bc99bf13581")
|
||||
version("1.3.0", sha256="30d448e825904e2d763bbbe418831a788813c32f636b21c8d60ee5f474532898")
|
||||
|
||||
depends_on("py-setuptools@45:", when="@1.6:", type="build")
|
||||
depends_on("python@3.6:", type=("build", "run"))
|
||||
depends_on("py-setuptools", type="build")
|
||||
depends_on("py-setuptools-scm+toml@6.2:", when="@1.6:", type="build")
|
||||
depends_on("py-setuptools-scm", when="@1.4:", type="build")
|
||||
|
||||
depends_on("py-platformdirs@2.5:", when="@1.7:", type=("build", "run"))
|
||||
depends_on("py-packaging@20:", when="@1.6:", type=("build", "run"))
|
||||
depends_on("py-packaging", type=("build", "run"))
|
||||
depends_on("py-requests@2.19:", when="@1.6:", type=("build", "run"))
|
||||
depends_on("py-requests", type=("build", "run"))
|
||||
|
||||
# Historical dependencies
|
||||
depends_on("py-appdirs", when="@:1.5", type=("build", "run"))
|
||||
depends_on("py-packaging", type=("build", "run"))
|
||||
depends_on("py-appdirs", type=("build", "run"))
|
||||
|
||||
@@ -13,28 +13,23 @@ class PyPreCommit(PythonPackage):
|
||||
homepage = "https://github.com/pre-commit/pre-commit"
|
||||
pypi = "pre_commit/pre_commit-1.20.0.tar.gz"
|
||||
|
||||
version("3.3.3", sha256="a2256f489cd913d575c145132ae196fe335da32d91a8294b7afe6622335dd023")
|
||||
version("2.20.0", sha256="a978dac7bc9ec0bcee55c18a277d553b0f419d259dadb4b9418ff2d00eb43959")
|
||||
version("2.17.0", sha256="c1a8040ff15ad3d648c70cc3e55b93e4d2d5b687320955505587fd79bbaed06a")
|
||||
version("2.10.1", sha256="399baf78f13f4de82a29b649afd74bef2c4e28eb4f021661fc7f29246e8c7a3a")
|
||||
version("1.20.0", sha256="9f152687127ec90642a2cc3e4d9e1e6240c4eb153615cb02aa1ad41d331cbb6e")
|
||||
|
||||
depends_on("python@3.8:", when="@3:", type=("build", "run"))
|
||||
depends_on("python@3.7:", when="@2.20.0:", type=("build", "run"))
|
||||
depends_on("python@3.6.1:", when="@2.1.0:", type=("build", "run"))
|
||||
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("python@3.7:", type=("build", "run"), when="@2.20.0:")
|
||||
depends_on("py-setuptools", type="build")
|
||||
|
||||
depends_on("py-cfgv@2:", type=("build", "run"))
|
||||
depends_on("py-identify@1:", type=("build", "run"))
|
||||
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@5.1:", when="@2.1:", type=("build", "run"))
|
||||
depends_on("py-pyyaml", type=("build", "run"))
|
||||
depends_on("py-virtualenv@20.10:", when="@2.21:", type=("build", "run"))
|
||||
depends_on("py-virtualenv@20.0.8:", when="@2.4:", 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"))
|
||||
|
||||
# Historical dependencies
|
||||
depends_on("py-toml", when="@:2.20", type=("build", "run"))
|
||||
depends_on("py-aspy-yaml", when="@1", type=("build", "run"))
|
||||
depends_on("py-six", when="@1", type=("build", "run"))
|
||||
depends_on("py-importlib-metadata", when="@:2 ^python@:3.7", type=("build", "run"))
|
||||
depends_on("py-virtualenv@20.0.8:", type=("build", "run"), when="@2.4.0:")
|
||||
depends_on("py-importlib-metadata", type=("build", "run"), when="^python@:3.7")
|
||||
|
||||
@@ -9,10 +9,8 @@
|
||||
class PyPrometheusClient(PythonPackage):
|
||||
"""Prometheus instrumentation library for Python applications."""
|
||||
|
||||
homepage = "https://github.com/prometheus/client_python"
|
||||
pypi = "prometheus_client/prometheus_client-0.7.1.tar.gz"
|
||||
|
||||
version("0.17.0", sha256="9c3b26f1535945e85b8934fb374678d263137b78ef85f305b1156c7c881cd11b")
|
||||
version("0.14.1", sha256="5459c427624961076277fdc6dc50540e2bacb98eebde99886e59ec55ed92093a")
|
||||
version("0.12.0", sha256="1b12ba48cee33b9b0b9de64a1047cbd3c5f2d0ab6ebcead7ddda613a750ec3c5")
|
||||
version("0.7.1", sha256="71cd24a2b3eb335cb800c7159f423df1bd4dcd5171b234be15e3f31ec9f622da")
|
||||
@@ -24,14 +22,20 @@ class PyPrometheusClient(PythonPackage):
|
||||
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@16:", when="@0.12.0: +twisted ^python@3:", type=("build", "run"))
|
||||
depends_on("py-twisted", when="+twisted", type=("build", "run"))
|
||||
depends_on("py-twisted@16:", when="@0.12.0: +twisted ^python@3:", type=("build", "run"))
|
||||
depends_on("python@2.7:2,3.4:", when="@0.12.0", type=("build", "run"))
|
||||
depends_on("python@3.6:", when="@0.14.1:", type=("build", "run"))
|
||||
|
||||
@property
|
||||
def skip_modules(self):
|
||||
modules = []
|
||||
def import_modules(self):
|
||||
modules = [
|
||||
"prometheus_client",
|
||||
"prometheus_client.openmetrics",
|
||||
"prometheus_client.bridge",
|
||||
]
|
||||
|
||||
if self.spec.satisfies("~twisted"):
|
||||
if "+twisted" in self.spec:
|
||||
modules.append("prometheus_client.twisted")
|
||||
|
||||
return modules
|
||||
|
||||
@@ -9,14 +9,34 @@
|
||||
class PyPromptToolkit(PythonPackage):
|
||||
"""Library for building powerful interactive command lines in Python"""
|
||||
|
||||
homepage = "https://github.com/prompt-toolkit/python-prompt-toolkit"
|
||||
pypi = "prompt_toolkit/prompt_toolkit-1.0.9.tar.gz"
|
||||
|
||||
# 'prompt_toolkit.contrib.ssh' requires 'asyncssh', but 'asyncssh' isn't listed as a
|
||||
# dependency. Leave out of 'import_modules' to avoid unnecessary dependency.
|
||||
skip_modules = ["prompt_toolkit.contrib.ssh"]
|
||||
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",
|
||||
]
|
||||
|
||||
version("3.0.38", sha256="23ac5d50538a9a38c8bde05fecb47d0b403ecd0662857a86f886f798563d5b9b")
|
||||
version("3.0.31", sha256="9ada952c9d1787f52ff6d5f3484d0b4df8952787c087edf6a1f7c2cb1ea88148")
|
||||
version("3.0.29", sha256="bd640f60e8cecd74f0dc249713d433ace2ddc62b65ee07f96d358e0b152b6ea7")
|
||||
version("3.0.24", sha256="1bb05628c7d87b645974a1bad3f17612be0c29fa39af9f7688030163f680bad6")
|
||||
@@ -28,14 +48,9 @@ class PyPromptToolkit(PythonPackage):
|
||||
version("1.0.16", sha256="c1cedd626e08b8ee830ee65897de754113ff3f3035880030c08b01674d85c5b4")
|
||||
version("1.0.9", sha256="cd6523b36adc174cc10d54b1193eb626b4268609ff6ea92c15bcf1996609599c")
|
||||
|
||||
depends_on("python@3.7:", when="@3.0.37:", 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"))
|
||||
# collections.Mapping was removed in python@3.10
|
||||
depends_on("python@:3.9", when="@1.0.9", 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-wcwidth", type=("build", "run"))
|
||||
|
||||
# Historical dependencies
|
||||
depends_on("py-six@1.9.0:", when="@:2", type=("build", "run"))
|
||||
depends_on("py-wcwidth", type=("build", "run"))
|
||||
|
||||
@@ -14,7 +14,6 @@ class PyPsutil(PythonPackage):
|
||||
homepage = "https://github.com/giampaolo/psutil"
|
||||
pypi = "psutil/psutil-5.6.3.tar.gz"
|
||||
|
||||
version("5.9.5", sha256="5410638e4df39c54d957fc51ce03048acd8e6d60abc0f5107af51e5fb566eb3c")
|
||||
version("5.9.4", sha256="3d7f9739eb435d4b1338944abe23f49584bde5395f27487d2ee25ad9a8774a62")
|
||||
version("5.9.2", sha256="feb861a10b6c3bb00701063b37e4afc754f8217f0f09c42280586bd6ac712b5c")
|
||||
version("5.8.0", sha256="0c9ccb99ab76025f2f0bbecf341d4656e9c1351db8cc8a03ccd62e318ab4b5c6")
|
||||
@@ -28,3 +27,7 @@ class PyPsutil(PythonPackage):
|
||||
# pyproject.toml
|
||||
depends_on("py-setuptools@43:", when="@5.9.4:", type="build")
|
||||
depends_on("py-setuptools", type="build")
|
||||
|
||||
# setup.py
|
||||
# depends_on("py-pywin32", when="platform=windows", type=("build", "run"))
|
||||
# depends_on("py-wmi", when="platform=windows", type=("build", "run"))
|
||||
|
||||
@@ -12,7 +12,6 @@ class PyPybids(PythonPackage):
|
||||
homepage = "https://github.com/bids-standard/pybids"
|
||||
pypi = "pybids/pybids-0.13.1.tar.gz"
|
||||
|
||||
version("0.16.1", sha256="1a6ab06d375f3b783e738826e6d220b2f4145419b4b02f4edbcc8cb7c9b2208a")
|
||||
version("0.15.3", sha256="4d99c979bc4bc209cff70a02d1da309c9bf8c6b0338e2a0b66ebea77c7f3c461")
|
||||
version("0.15.1", sha256="0253507a04dbfea43eb1f75a1f71aab04be21076bfe96c004888000b802e38f2")
|
||||
version("0.14.0", sha256="73c4d03aad333f2a7cb4405abe96f55a33cffa4b5a2d23fad6ac5767c45562ef")
|
||||
@@ -21,32 +20,22 @@ class PyPybids(PythonPackage):
|
||||
version("0.9.5", sha256="0e8f8466067ff3023f53661c390c02702fcd5fe712bdd5bf167ffb0c2b920430")
|
||||
version("0.8.0", sha256="fe60fa7d1e171e75a38a04220ed992f1b062531a7452fcb7ce5ba81bb6abfdbc")
|
||||
|
||||
depends_on("python@3.8:", when="@0.16:", type=("build", "run"))
|
||||
depends_on("python@3.7:", when="@0.15:", type=("build", "run"))
|
||||
depends_on("py-setuptools", when="@0.15.6:", type="build")
|
||||
depends_on("py-setuptools@30.3:60,61.0.1:", when="@:0.15.5", type="build")
|
||||
depends_on("py-versioneer+toml", when="@0.15.6:", type="build")
|
||||
|
||||
depends_on("py-numpy@1.19:", when="@0.16:", 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@1.5:", when="@0.16:", type=("build", "run"))
|
||||
depends_on("py-scipy", type=("build", "run"))
|
||||
depends_on("py-nibabel@3:", when="@0.16:", type=("build", "run"))
|
||||
depends_on("py-nibabel@2.1:", type=("build", "run"))
|
||||
depends_on("py-pandas@0.25.2:", when="@0.16:", type=("build", "run"))
|
||||
depends_on("py-pandas@0.23:", type=("build", "run"))
|
||||
depends_on("py-formulaic@0.2.4:0.5", when="@0.15.6:", type=("build", "run"))
|
||||
depends_on("py-formulaic@0.2.4:0.3", when="@0.15.1:0.15.5", 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.16:", when="@0.16:", 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@1.11:", when="@0.16:", type=("build", "run"))
|
||||
depends_on("py-bids-validator", type=("build", "run"))
|
||||
depends_on("py-num2words@0.5.5:", when="@0.16:", type=("build", "run"))
|
||||
depends_on("py-num2words", type=("build", "run"))
|
||||
depends_on("py-click@8:", when="@0.15.2:", type=("build", "run"))
|
||||
depends_on("py-click", when="@0.12.1:", type=("build", "run"))
|
||||
|
||||
# Historical dependencies
|
||||
depends_on("py-patsy", when="@:0.13", type=("build", "run"))
|
||||
|
||||
@@ -13,22 +13,18 @@ class PyPycairo(PythonPackage):
|
||||
|
||||
homepage = "https://www.cairographics.org/pycairo/"
|
||||
pypi = "pycairo/pycairo-1.17.1.tar.gz"
|
||||
git = "https://github.com/pygobject/pycairo.git"
|
||||
|
||||
version("1.24.0", sha256="1444d52f1bb4cc79a4a0c0fe2ccec4bd78ff885ab01ebe1c0f637d8392bcafb6")
|
||||
version("1.20.0", sha256="5695a10cb7f9ae0d01f665b56602a845b0a8cb17e2123bfece10c2e58552468c")
|
||||
version("1.18.1", sha256="70172e58b6bad7572a3518c26729b074acdde15e6fee6cbab6d3528ad552b786")
|
||||
version("1.17.1", sha256="0f0a35ec923d87bc495f6753b1e540fd046d95db56a35250c44089fbce03b698")
|
||||
|
||||
depends_on("python@3.8:", when="@1.23:", type=("build", "run"))
|
||||
depends_on("python@3.6:3", when="@1.20:1.22", 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("py-setuptools", type="build")
|
||||
# https://github.com/pygobject/pycairo/blob/main/docs/getting_started.rst
|
||||
depends_on("pkgconfig", type="build")
|
||||
# version requirements from setup.py
|
||||
depends_on("cairo@1.15.10: +pdf", when="@1.20:")
|
||||
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):
|
||||
|
||||
@@ -12,16 +12,16 @@ class PyPydantic(PythonPackage):
|
||||
homepage = "https://github.com/samuelcolvin/pydantic"
|
||||
pypi = "pydantic/pydantic-1.8.2.tar.gz"
|
||||
|
||||
version("1.10.9", sha256="95c70da2cd3b6ddf3b9645ecaa8d98f3d80c606624b6d245558d202cd23ea3be")
|
||||
version("1.10.2", sha256="91b8e218852ef6007c2b98cd861601c6a09f1aa32bbbb74fab5b1c33d4a1e410")
|
||||
version("1.9.2", sha256="8cb0bc509bfb71305d7a59d00163d5f9fc4530f0881ea32c74ff4f74c85f3d3d")
|
||||
version("1.8.2", sha256="26464e57ccaafe72b7ad156fdaa4e9b9ef051f69e175dbbb463283000c05ab7b")
|
||||
|
||||
variant("dotenv", default=False, description="Install requirements for pydantic.dotenv")
|
||||
|
||||
depends_on("python@3.7:", when="@1.10.2:", type=("build", "run"))
|
||||
depends_on("python@3.6.1:", type=("build", "run"))
|
||||
depends_on("py-setuptools", type="build")
|
||||
depends_on("py-typing-extensions@4.2:", when="@1.10.9:", type=("build", "run"))
|
||||
depends_on("py-typing-extensions@4.1:", when="@1.10:", type=("build", "run"))
|
||||
depends_on("py-typing-extensions@4.1.0:", when="@1.10.2:", type=("build", "run"))
|
||||
depends_on("py-typing-extensions@3.7.4.3:", type=("build", "run"))
|
||||
|
||||
depends_on("py-python-dotenv@0.10.4:", when="+dotenv", type=("build", "run"))
|
||||
|
||||
@@ -15,16 +15,11 @@ class PyPydicom(PythonPackage):
|
||||
homepage = "https://github.com/pydicom/pydicom"
|
||||
pypi = "pydicom/pydicom-2.1.2.tar.gz"
|
||||
|
||||
version("2.4.1", sha256="6cb210dbe5586841036e8eeb2d4feb4df22a48f39161ba7ee0bf3c89faaba946")
|
||||
version("2.3.0", sha256="dbfa081c9ad9ac8ff8a8efbd71784104db9eecf02fd775f7d7773f2183f89386")
|
||||
version("2.1.2", sha256="65f36820c5fec24b4e7ca45b7dae93e054ed269d55f92681863d39d30459e2fd")
|
||||
|
||||
variant("numpy", default=False, description="Use NumPy for Pixel data")
|
||||
|
||||
depends_on("python@3.7:", when="@2.4:", type=("build", "run"))
|
||||
depends_on("python@3.6.1:", type=("build", "run"))
|
||||
depends_on("py-flit-core@3.2:3", when="@2.4:", type=("build", "run"))
|
||||
depends_on("py-setuptools", type=("build", "run"))
|
||||
depends_on("py-numpy", when="+numpy", type="run")
|
||||
|
||||
# Historical dependencies
|
||||
depends_on("py-setuptools", when="@:2.3", type=("build", "run"))
|
||||
|
||||
@@ -11,9 +11,7 @@ class PyPygments(PythonPackage):
|
||||
|
||||
homepage = "https://pygments.org/"
|
||||
pypi = "Pygments/Pygments-2.4.2.tar.gz"
|
||||
git = "https://github.com/pygments/pygments.git"
|
||||
|
||||
version("2.15.1", sha256="8ace4d3c1dd481894b2005f560ead0f9f19ee64fe983366be1a21e171d12775c")
|
||||
version("2.13.0", sha256="56a8508ae95f98e2b9bdf93a6be5ae3f7d8af858b43e02c5a2ff083726be40c1")
|
||||
version("2.12.0", sha256="5eb116118f9612ff1ee89ac96437bb6b49e8f04d8a13b514ba26f620208e26eb")
|
||||
version("2.10.0", sha256="f398865f7eb6874156579fdf36bc840a03cab64d1cde9e93d68f46a425ec52c6")
|
||||
@@ -25,6 +23,7 @@ class PyPygments(PythonPackage):
|
||||
version("2.0.1", sha256="5e039e1d40d232981ed58914b6d1ac2e453a7e83ddea22ef9f3eeadd01de45cb")
|
||||
version("2.0.2", sha256="7320919084e6dac8f4540638a46447a3bd730fca172afc17d2c03eed22cf4f51")
|
||||
|
||||
depends_on("python@3.7:", when="@2.15:", type=("build", "run"))
|
||||
depends_on("py-setuptools@61:", when="@2.15:", type=("build", "run"))
|
||||
depends_on("python@3.6:", type=("build", "run"), when="@2.12:")
|
||||
depends_on("python@3.5:", type=("build", "run"), when="@2.6:")
|
||||
depends_on("python@2.7:2.8,3.5:", type=("build", "run"), when="@:2.5")
|
||||
depends_on("py-setuptools", type=("build", "run"))
|
||||
|
||||
@@ -17,17 +17,11 @@ class PyPyopenssl(PythonPackage):
|
||||
homepage = "https://pyopenssl.org/"
|
||||
pypi = "pyOpenSSL/pyOpenSSL-19.0.0.tar.gz"
|
||||
|
||||
version("23.2.0", sha256="276f931f55a452e7dea69c7173e984eb2a4407ce413c918aa34b55f82f9b8bac")
|
||||
version("22.1.0", sha256="7a83b7b272dd595222d672f5ce29aa030f1fb837630ef229f62e72e395ce8968")
|
||||
version("19.0.0", sha256="aeca66338f6de19d1aa46ed634c3b9ae519a64b458f8468aec688e7e3c20f200")
|
||||
|
||||
depends_on("py-setuptools", type="build")
|
||||
|
||||
depends_on("py-cryptography@38:41", when="@23.2:", type=("build", "run"))
|
||||
depends_on("py-cryptography@38", when="@22", type=("build", "run"))
|
||||
depends_on("py-cryptography@2.3:", type=("build", "run"))
|
||||
|
||||
conflicts("^py-cryptography@40:40.0.1", when="@23.2:")
|
||||
|
||||
# Historical dependencies
|
||||
depends_on("py-cryptography@38", when="@22:", type=("build", "run"))
|
||||
depends_on("python@3.6:", when="@22:", type=("build", "run"))
|
||||
depends_on("py-six@1.5.2:", when="@:19", type=("build", "run"))
|
||||
|
||||
@@ -16,7 +16,6 @@ class PyPyproj(PythonPackage):
|
||||
|
||||
maintainers("citibeth", "adamjstewart")
|
||||
|
||||
version("3.6.0", sha256="a5b111865b3f0f8b77b3983f2fbe4dd6248fc09d3730295949977c8dcd988062")
|
||||
version("3.5.0", sha256="9859d1591c1863414d875ae0759e72c2cffc01ab989dc64137fbac572cc81bf6")
|
||||
version("3.4.1", sha256="261eb29b1d55b1eb7f336127344d9b31284d950a9446d1e0d1c2411f7dd8e3ac")
|
||||
version("3.4.0", sha256="a708445927ace9857f52c3ba67d2915da7b41a8fdcd9b8f99a4c9ed60a75eb33")
|
||||
@@ -36,7 +35,8 @@ class PyPyproj(PythonPackage):
|
||||
depends_on("py-setuptools@61:", when="@3.4:", type="build")
|
||||
depends_on("py-setuptools", type="build")
|
||||
depends_on("py-cython@0.28.4:", when="@2:", type="build")
|
||||
depends_on("python@3.9:", when="@3.6:", type=("build", "link", "run"))
|
||||
|
||||
# In setup.cfg
|
||||
depends_on("python@3.8:", when="@3.3:", type=("build", "link", "run"))
|
||||
depends_on("py-certifi", when="@3:", type=("build", "run"))
|
||||
|
||||
|
||||
@@ -11,9 +11,7 @@ class PyPytest(PythonPackage):
|
||||
|
||||
homepage = "https://pytest.org/"
|
||||
pypi = "pytest/pytest-5.2.1.tar.gz"
|
||||
git = "https://github.com/pytest-dev/pytest"
|
||||
|
||||
version("7.3.2", sha256="ee990a3cc55ba808b80795a79944756f315c67c12b56abd3ac993a7b8c17030b")
|
||||
version("7.2.1", sha256="d45e0952f3727241918b8fd0f376f5ff6b301cc0777c6f9a556935c92d8a7d42")
|
||||
version("7.1.3", sha256="4f365fec2dff9c1162f834d9f18af1ba13062db0c708bf7b946f8a5c76180c39")
|
||||
version("6.2.5", sha256="131b36680866a76e6781d13f101efb86cf674ebb9762eb70d3082b6f29889e89")
|
||||
@@ -37,8 +35,10 @@ class PyPytest(PythonPackage):
|
||||
|
||||
# python_requires
|
||||
depends_on("python@3.7:", when="@7.1:", type=("build", "run"))
|
||||
# see https://github.com/pytest-dev/pytest/releases/tag/7.3.2
|
||||
depends_on("python@:3.11", when="@:7.3.1", 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@45.0:", when="@7:", type=("build", "run"))
|
||||
@@ -51,6 +51,9 @@ class PyPytest(PythonPackage):
|
||||
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"))
|
||||
@@ -63,15 +66,12 @@ class PyPytest(PythonPackage):
|
||||
depends_on("py-pluggy@0.5:0.6", when="@:3.6.3", type=("build", "run"))
|
||||
depends_on("py-colorama", when="platform=windows", type=("build", "run"))
|
||||
depends_on("py-exceptiongroup@1:", when="@7: ^python@:3.10", type=("build", "run"))
|
||||
depends_on("py-importlib-metadata@0.12:", when="@5.1: ^python@:3.7", 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-tomli@1:", when="@7.1: ^python@:3.10", type=("build", "run"))
|
||||
depends_on("py-tomli@1:", when="@7.0", type=("build", "run"))
|
||||
|
||||
# Historic dependencies
|
||||
depends_on("py-attrs@19.2.0:", when="@6.2:7.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-py@1.8.2:", when="@6:7.1", 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"))
|
||||
|
||||
@@ -12,7 +12,6 @@ class PyPythonGitlab(PythonPackage):
|
||||
homepage = "https://github.com/gpocentek/python-gitlab"
|
||||
pypi = "python-gitlab/python-gitlab-0.19.tar.gz"
|
||||
|
||||
version("3.15.0", sha256="c9e65eb7612a9fbb8abf0339972eca7fd7a73d4da66c9b446ffe528930aff534")
|
||||
version("3.9.0", sha256="5fc5e88f81f366e11851cb8b4b9a5b827491ce20ba7585446b74c9b097726ba3")
|
||||
version("2.10.1", sha256="7afa7d7c062fa62c173190452265a30feefb844428efc58ea5244f3b9fc0d40f")
|
||||
version("1.8.0", sha256="a6b03bc53f6e2e22b88d5ff9772b1bb360570ec82752f1def3d6eb60cda093e7")
|
||||
@@ -22,15 +21,11 @@ class PyPythonGitlab(PythonPackage):
|
||||
version("0.16", sha256="2c50dc0bd3ed7c6b1edb6e556b0f0109493ae9dfa46e3bffcf3e5e67228d7d53")
|
||||
|
||||
depends_on("python@3.7:", when="@3:", type=("build", "run"))
|
||||
depends_on("python@3.6:", when="@2:", type=("build", "run"))
|
||||
depends_on("py-setuptools", type="build")
|
||||
|
||||
depends_on("py-requests@2.25:", when="@2.10.1:", type=("build", "run"))
|
||||
depends_on("py-requests@2.22:", when="@2:", type=("build", "run"))
|
||||
depends_on("py-requests@2.4.2:", when="@1.4:", type=("build", "run"))
|
||||
depends_on("py-requests@1:", type=("build", "run"))
|
||||
depends_on("py-requests-toolbelt@0.10.1:", when="@3.13:", type=("build", "run"))
|
||||
depends_on("py-requests-toolbelt@0.9.1:", when="@2.6:", type=("build", "run"))
|
||||
depends_on("py-typing-extensions@4:", when="@3.14: ^python@:3.7", type=("build", "run"))
|
||||
|
||||
# Historical dependencies
|
||||
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"))
|
||||
|
||||
@@ -11,9 +11,7 @@ class PyPytz(PythonPackage):
|
||||
|
||||
homepage = "https://pythonhosted.org/pytz"
|
||||
pypi = "pytz/pytz-2019.3.tar.gz"
|
||||
git = "https://github.com/stub42/pytz.git"
|
||||
|
||||
version("2023.3", sha256="1d8ce29db189191fb55338ee6d0387d82ab59f3d00eac103412d64e0ebd0c588")
|
||||
version("2022.2.1", sha256="cea221417204f2d1a2aa03ddae3e867921971d0d76f14d87abb4414415bbdcf5")
|
||||
version("2021.3", sha256="acad2d8b20a1af07d4e4c9d2e9285c5ed9104354062f275f3fcd88dcef4f1326")
|
||||
version("2021.1", sha256="83a4a90894bf38e243cf052c8b58f381bfe9a7a483f6a9cab140bc7f702ac4da")
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
|
||||
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
from spack.package import *
|
||||
|
||||
|
||||
class PyPyu2f(PythonPackage):
|
||||
"""U2F host library for interacting with a U2F device over USB."""
|
||||
|
||||
homepage = "https://github.com/google/pyu2f"
|
||||
pypi = "pyu2f/pyu2f-0.1.5.tar.gz"
|
||||
|
||||
version("0.1.5", sha256="a3caa3a11842fc7d5746376f37195e6af5f17c0a15737538bb1cebf656fb306b")
|
||||
|
||||
depends_on("py-setuptools", type="build")
|
||||
depends_on("py-six", type=("build", "run"))
|
||||
@@ -16,8 +16,5 @@ class PyQmtest(PythonPackage):
|
||||
|
||||
version("2.4.1", sha256="098f705aea9c8f7f5b6b5fe131974cee33b50cad3e13977e39708f306ce9ac91")
|
||||
|
||||
# Patch to fix python 3.10 and above compatibility
|
||||
patch("wininst.patch", when="@2.4.1^python@3.10:")
|
||||
|
||||
depends_on("python@2.2:", type=("build", "run"))
|
||||
depends_on("py-setuptools", type="build")
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
diff --git a/setup.py b/setup.py
|
||||
index 198cc92..2e07495 100644
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -23,7 +23,6 @@ from qmdist.command.build_py import build_py
|
||||
from qmdist.command.build_scripts import build_scripts
|
||||
from qmdist.command.build_doc import *
|
||||
from qmdist.command.install_lib import install_lib
|
||||
-from qmdist.command.bdist_wininst import bdist_wininst
|
||||
from qmdist.command.check import check
|
||||
import sys, os, os.path, glob, shutil
|
||||
|
||||
@@ -66,7 +65,6 @@ setup(name="qmtest",
|
||||
'build_ref_manual': build_ref_manual,
|
||||
'build_man_page': build_man_page,
|
||||
'install_lib': install_lib,
|
||||
- 'bdist_wininst' : bdist_wininst,
|
||||
'check': check},
|
||||
|
||||
packages=('qm',
|
||||
@@ -12,9 +12,7 @@ class PyRequestsToolbelt(PythonPackage):
|
||||
|
||||
homepage = "https://toolbelt.readthedocs.org/"
|
||||
pypi = "requests-toolbelt/requests-toolbelt-0.9.1.tar.gz"
|
||||
git = "https://github.com/requests/toolbelt.git"
|
||||
|
||||
version("1.0.0", sha256="7681a0a3d047012b5bdc0ee37d7f8f07ebe76ab08caeccfc3921ce23c88d5bc6")
|
||||
version("0.9.1", sha256="968089d4584ad4ad7c171454f0a5c6dac23971e9472521ea3b6d49d610aa6fc0")
|
||||
version("0.8.0", sha256="f6a531936c6fa4c6cfce1b9c10d5c4f498d16528d2a54a22ca00011205a187b5")
|
||||
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
diff --git a/WORKSPACE b/WORKSPACE
|
||||
index 48227b5d8439..5ce04e1097eb 100644
|
||||
--- a/WORKSPACE
|
||||
+++ b/WORKSPACE
|
||||
@@ -97,6 +97,8 @@ http_archive(
|
||||
name = "org_tensorflow_tensorboard",
|
||||
sha256 = "528afecdcc551c31baa6c7c3f702439cb6a52b711a12f9773177d0a9221f0620",
|
||||
strip_prefix = "tensorboard-22b1f7413a917249245ab63a33d1f03514039294",
|
||||
+ patch_args = ["-p1"],
|
||||
+ patches = ["defaultshellenv.patch"],
|
||||
urls = [
|
||||
"https://github.com/tensorflow/tensorboard/archive/22b1f7413a917249245ab63a33d1f03514039294.tar.gz", # 2019-12-04
|
||||
],
|
||||
diff --git a/external/defaultshellenv.patch b/external/defaultshellenv.patch
|
||||
new file mode 100644
|
||||
index 000000000000..d22faf5662b6
|
||||
--- /dev/null
|
||||
+++ b/external/defaultshellenv.patch
|
||||
@@ -0,0 +1,12 @@
|
||||
+diff --git a/tensorboard/defs/web.bzl b/tensorboard/defs/web.bzl
|
||||
+index dfca0bfd21b5..fb981493b25d 100644
|
||||
+--- a/tensorboard/defs/web.bzl
|
||||
++++ b/tensorboard/defs/web.bzl
|
||||
+@@ -180,6 +180,7 @@ def _tf_web_library(ctx):
|
||||
+ tools=ctx.files._tsc,
|
||||
+ inputs=ts_inputs,
|
||||
+ outputs=ts_outputs,
|
||||
++ use_default_shell_env=True,
|
||||
+ executable=ctx.executable._execrooter,
|
||||
+ arguments=(
|
||||
+ [er_config.path] +
|
||||
@@ -0,0 +1,12 @@
|
||||
diff --git a/tensorboard/defs/web.bzl b/tensorboard/defs/web.bzl
|
||||
index dfca0bfd21b5..fb981493b25d 100644
|
||||
--- a/tensorboard/defs/web.bzl
|
||||
+++ b/tensorboard/defs/web.bzl
|
||||
@@ -180,6 +180,7 @@ def _tf_web_library(ctx):
|
||||
tools=ctx.files._tsc,
|
||||
inputs=ts_inputs,
|
||||
outputs=ts_outputs,
|
||||
+ use_default_shell_env=True,
|
||||
executable=ctx.executable._execrooter,
|
||||
arguments=(
|
||||
[er_config.path] +
|
||||
@@ -0,0 +1,11 @@
|
||||
diff -ru a/tensorboard/plugins/projector/vz_projector/BUILD b/tensorboard/plugins/projector/vz_projector/BUILD
|
||||
--- a/tensorboard/plugins/projector/vz_projector/BUILD 2021-10-13 11:04:47.000000000 -0500
|
||||
+++ b/tensorboard/plugins/projector/vz_projector/BUILD 2021-12-02 14:27:59.275004056 -0600
|
||||
@@ -64,6 +64,7 @@
|
||||
"@npm//@polymer/decorators",
|
||||
"@npm//@polymer/polymer",
|
||||
"@npm//numeric",
|
||||
+ "@npm//@types/three",
|
||||
"@npm//three",
|
||||
"@npm//umap-js",
|
||||
],
|
||||
11
var/spack/repos/builtin/packages/py-tensorboard/webapp.patch
Normal file
11
var/spack/repos/builtin/packages/py-tensorboard/webapp.patch
Normal file
@@ -0,0 +1,11 @@
|
||||
diff -ru a/tensorboard/webapp/runs/views/runs_table/regex_edit_dialog_component.ts b/tensorboard/webapp/runs/views/runs_table/regex_edit_dialog_component.ts
|
||||
--- a/tensorboard/webapp/runs/views/runs_table/regex_edit_dialog_component.ts 2021-10-13 11:04:47.000000000 -0500
|
||||
+++ b/tensorboard/webapp/runs/views/runs_table/regex_edit_dialog_component.ts 2021-12-01 20:39:45.512831971 -0600
|
||||
@@ -79,6 +79,6 @@
|
||||
|
||||
handleFocusOut() {
|
||||
clearTimeout(this.timeOutId);
|
||||
- this.timeOutId = setTimeout(this.resetFocus.bind(this), 0);
|
||||
+ this.timeOutId = window.setTimeout(this.resetFocus.bind(this), 0);
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user