summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn W. Parent <45471568+johnwparent@users.noreply.github.com>2023-01-20 16:32:28 -0500
committerGitHub <noreply@github.com>2023-01-20 13:32:28 -0800
commita424f7f173a85774f841ddf974b507c60521e127 (patch)
treea52ef17c60100bf7d6c39ed8dd6293f7b7aa4d4c
parentd192dab5a1a1a103c84ebef4b8cadd8180658189 (diff)
downloadspack-a424f7f173a85774f841ddf974b507c60521e127.tar.gz
spack-a424f7f173a85774f841ddf974b507c60521e127.tar.bz2
spack-a424f7f173a85774f841ddf974b507c60521e127.tar.xz
spack-a424f7f173a85774f841ddf974b507c60521e127.zip
Identify Windows support with tags (#35027)
All packages with explicit Windows support can be found with `spack list --tags=windows`. This also removes the documentation which explicitly lists supported packages on Windows (which is currently out of date and is now unnecessary with the added tags). Note that if a package does not appear in this list, it *may* still build on Windows, but it likely means that no explicit attempt has been made to support it.
-rw-r--r--lib/spack/docs/getting_started.rst29
-rw-r--r--var/spack/repos/builtin.mock/packages/zlib/package.py1
-rw-r--r--var/spack/repos/builtin/packages/7zip/package.py1
-rw-r--r--var/spack/repos/builtin/packages/abseil-cpp/package.py1
-rw-r--r--var/spack/repos/builtin/packages/bzip2/package.py1
-rw-r--r--var/spack/repos/builtin/packages/clingo/package.py2
-rw-r--r--var/spack/repos/builtin/packages/cmake/package.py2
-rw-r--r--var/spack/repos/builtin/packages/cpuinfo/package.py1
-rw-r--r--var/spack/repos/builtin/packages/curl/package.py2
-rw-r--r--var/spack/repos/builtin/packages/glm/package.py1
-rw-r--r--var/spack/repos/builtin/packages/hdf5/package.py2
-rw-r--r--var/spack/repos/builtin/packages/jsoncpp/package.py1
-rw-r--r--var/spack/repos/builtin/packages/msmpi/package.py1
-rw-r--r--var/spack/repos/builtin/packages/nasm/package.py1
-rw-r--r--var/spack/repos/builtin/packages/netlib-lapack/package.py1
-rw-r--r--var/spack/repos/builtin/packages/ninja/package.py2
-rw-r--r--var/spack/repos/builtin/packages/openssl/package.py2
-rw-r--r--var/spack/repos/builtin/packages/perl/package.py1
-rw-r--r--var/spack/repos/builtin/packages/python/package.py1
-rw-r--r--var/spack/repos/builtin/packages/re2c/package.py1
-rw-r--r--var/spack/repos/builtin/packages/ruby/package.py1
-rw-r--r--var/spack/repos/builtin/packages/scons/package.py2
-rw-r--r--var/spack/repos/builtin/packages/wgl/package.py2
-rw-r--r--var/spack/repos/builtin/packages/win-sdk/package.py1
-rw-r--r--var/spack/repos/builtin/packages/win-wdk/package.py1
-rw-r--r--var/spack/repos/builtin/packages/winbison/package.py1
-rw-r--r--var/spack/repos/builtin/packages/wrf/package.py1
27 files changed, 34 insertions, 29 deletions
diff --git a/lib/spack/docs/getting_started.rst b/lib/spack/docs/getting_started.rst
index 3c11632fe4..253b0e41e5 100644
--- a/lib/spack/docs/getting_started.rst
+++ b/lib/spack/docs/getting_started.rst
@@ -1700,29 +1700,15 @@ If in the previous step, you did not have CMake or Ninja installed, running the
Windows Compatible Packages
"""""""""""""""""""""""""""
-Many Spack packages are not currently compatible with Windows, due to Unix
-dependencies or incompatible build tools like autoconf. Here are several
-packages known to work on Windows:
-
-* abseil-cpp
-* bzip2
-* clingo
-* cpuinfo
-* cmake
-* hdf5
-* glm
-* nasm
-* netlib-lapack (requires Intel Fortran)
-* ninja
-* openssl
-* perl
-* python
-* ruby
-* wrf
-* zlib
+Not all spack packages currently have Windows support. Some are inherently incompatible with the
+platform, and others simply have yet to be ported. To view the current set of packages with Windows
+support, the list command should be used via `spack list -t windows`. If there's a package you'd like
+to install on Windows but is not in that list, feel free to reach out to request the port or contribute
+the port yourself.
.. note::
- This is by no means a comprehensive list
+ This is by no means a comprehensive list, some packages may have ports that were not tagged
+ while others may just work out of the box on Windows and have not been tagged as such.
^^^^^^^^^^^^^^
For developers
@@ -1734,3 +1720,4 @@ Instructions for creating the installer are at
https://github.com/spack/spack/blob/develop/lib/spack/spack/cmd/installer/README.md
Alternatively a pre-built copy of the Windows installer is available as an artifact of Spack's Windows CI
+available at each run of the CI on develop or any PR.
diff --git a/var/spack/repos/builtin.mock/packages/zlib/package.py b/var/spack/repos/builtin.mock/packages/zlib/package.py
index eefbbfdded..fa45ad87e4 100644
--- a/var/spack/repos/builtin.mock/packages/zlib/package.py
+++ b/var/spack/repos/builtin.mock/packages/zlib/package.py
@@ -17,6 +17,7 @@ class Zlib(Package):
homepage = "http://zlib.net"
# URL must remain http:// so Spack can bootstrap curl
url = "http://zlib.net/fossils/zlib-1.2.11.tar.gz"
+ tags = ["windows"]
version("1.2.11", sha256="c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1")
# Due to the bug fixes, any installations of 1.2.9 or 1.2.10 should be
diff --git a/var/spack/repos/builtin/packages/7zip/package.py b/var/spack/repos/builtin/packages/7zip/package.py
index a18da394af..6bccbbdf77 100644
--- a/var/spack/repos/builtin/packages/7zip/package.py
+++ b/var/spack/repos/builtin/packages/7zip/package.py
@@ -17,6 +17,7 @@ class _7zip(SourceforgePackage, Package):
homepage = "https://sourceforge.net/projects/sevenzip"
sourceforge_mirror_path = "sevenzip/files/7z2107-src.tar.xz"
+ tags = ["windows"]
executables = ["7z"]
diff --git a/var/spack/repos/builtin/packages/abseil-cpp/package.py b/var/spack/repos/builtin/packages/abseil-cpp/package.py
index fe2e6b5439..4a57efc985 100644
--- a/var/spack/repos/builtin/packages/abseil-cpp/package.py
+++ b/var/spack/repos/builtin/packages/abseil-cpp/package.py
@@ -13,6 +13,7 @@ class AbseilCpp(CMakePackage):
url = "https://github.com/abseil/abseil-cpp/archive/refs/tags/20211102.0.tar.gz"
maintainers = ["jcftang"]
+ tags = ["windows"]
version(
"20220623.0", sha256="4208129b49006089ba1d6710845a45e31c59b0ab6bff9e5788a87f55c5abd602"
diff --git a/var/spack/repos/builtin/packages/bzip2/package.py b/var/spack/repos/builtin/packages/bzip2/package.py
index 327979d2e6..9554d7cff4 100644
--- a/var/spack/repos/builtin/packages/bzip2/package.py
+++ b/var/spack/repos/builtin/packages/bzip2/package.py
@@ -20,6 +20,7 @@ class Bzip2(Package, SourcewarePackage):
sourceware_mirror_path = "bzip2/bzip2-1.0.8.tar.gz"
executables = [r"^bzip2$"]
+ tags = ["windows"]
version("1.0.8", sha256="ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269")
version("1.0.7", sha256="e768a87c5b1a79511499beb41500bcc4caf203726fff46a6f5f9ad27fe08ab2b")
diff --git a/var/spack/repos/builtin/packages/clingo/package.py b/var/spack/repos/builtin/packages/clingo/package.py
index 1ab848fc35..70654c546f 100644
--- a/var/spack/repos/builtin/packages/clingo/package.py
+++ b/var/spack/repos/builtin/packages/clingo/package.py
@@ -22,7 +22,7 @@ class Clingo(CMakePackage):
homepage = "https://potassco.org/clingo/"
url = "https://github.com/potassco/clingo/archive/v5.2.2.tar.gz"
git = "https://github.com/potassco/clingo.git"
-
+ tags = ["windows"]
maintainers = ["tgamblin", "alalazo"]
version("master", branch="master", submodules=True)
diff --git a/var/spack/repos/builtin/packages/cmake/package.py b/var/spack/repos/builtin/packages/cmake/package.py
index 96ec589f40..16a35c7cfc 100644
--- a/var/spack/repos/builtin/packages/cmake/package.py
+++ b/var/spack/repos/builtin/packages/cmake/package.py
@@ -23,7 +23,7 @@ class Cmake(Package):
git = "https://gitlab.kitware.com/cmake/cmake.git"
maintainers = ["chuckatkins"]
- tags = ["build-tools"]
+ tags = ["build-tools", "windows"]
executables = ["^cmake$"]
diff --git a/var/spack/repos/builtin/packages/cpuinfo/package.py b/var/spack/repos/builtin/packages/cpuinfo/package.py
index b4d8bfc65e..7531dcee98 100644
--- a/var/spack/repos/builtin/packages/cpuinfo/package.py
+++ b/var/spack/repos/builtin/packages/cpuinfo/package.py
@@ -12,6 +12,7 @@ class Cpuinfo(CMakePackage):
homepage = "https://github.com/pytorch/cpuinfo"
git = "https://github.com/pytorch/cpuinfo.git"
+ tags = ["windows"]
version("main", branch="main")
version("2022-08-19", commit="8ec7bd91ad0470e61cf38f618cc1f270dede599c") # py-torch@1.13
diff --git a/var/spack/repos/builtin/packages/curl/package.py b/var/spack/repos/builtin/packages/curl/package.py
index 5600084dad..395b3e80e8 100644
--- a/var/spack/repos/builtin/packages/curl/package.py
+++ b/var/spack/repos/builtin/packages/curl/package.py
@@ -22,7 +22,7 @@ class Curl(NMakePackage, AutotoolsPackage):
url = "http://curl.haxx.se/download/curl-7.78.0.tar.bz2"
executables = ["^curl$"]
- tags = ["build-tools"]
+ tags = ["build-tools", "windows"]
version("7.85.0", sha256="21a7e83628ee96164ac2b36ff6bf99d467c7b0b621c1f7e317d8f0d96011539c")
version("7.84.0", sha256="702fb26e73190a3bd77071aa146f507b9817cc4dfce218d2ab87f00cd3bc059d")
diff --git a/var/spack/repos/builtin/packages/glm/package.py b/var/spack/repos/builtin/packages/glm/package.py
index cf2dcbcf73..f7f45aa18d 100644
--- a/var/spack/repos/builtin/packages/glm/package.py
+++ b/var/spack/repos/builtin/packages/glm/package.py
@@ -14,6 +14,7 @@ class Glm(CMakePackage):
homepage = "https://github.com/g-truc/glm"
url = "https://github.com/g-truc/glm/archive/0.9.9.8.tar.gz"
git = "https://github.com/g-truc/glm.git"
+ tags = ["windows"]
version("develop", branch="master")
version("0.9.9.8", sha256="7d508ab72cb5d43227a3711420f06ff99b0a0cb63ee2f93631b162bfe1fe9592")
diff --git a/var/spack/repos/builtin/packages/hdf5/package.py b/var/spack/repos/builtin/packages/hdf5/package.py
index f70453f2ff..c4aeadc7e4 100644
--- a/var/spack/repos/builtin/packages/hdf5/package.py
+++ b/var/spack/repos/builtin/packages/hdf5/package.py
@@ -32,7 +32,7 @@ class Hdf5(CMakePackage):
"lkurz",
]
- tags = ["e4s"]
+ tags = ["e4s", "windows"]
executables = ["^h5cc$", "^h5pcc$"]
test_requires_compiler = True
diff --git a/var/spack/repos/builtin/packages/jsoncpp/package.py b/var/spack/repos/builtin/packages/jsoncpp/package.py
index e70c4136c9..d5163d3f6a 100644
--- a/var/spack/repos/builtin/packages/jsoncpp/package.py
+++ b/var/spack/repos/builtin/packages/jsoncpp/package.py
@@ -14,6 +14,7 @@ class Jsoncpp(CMakePackage):
homepage = "https://github.com/open-source-parsers/jsoncpp"
url = "https://github.com/open-source-parsers/jsoncpp/archive/1.7.3.tar.gz"
+ tags = ["windows"]
version("1.9.4", sha256="e34a628a8142643b976c7233ef381457efad79468c67cb1ae0b83a33d7493999")
version("1.9.3", sha256="8593c1d69e703563d94d8c12244e2e18893eeb9a8a9f8aa3d09a327aa45c8f7d")
diff --git a/var/spack/repos/builtin/packages/msmpi/package.py b/var/spack/repos/builtin/packages/msmpi/package.py
index e393e59f62..e8f147bd3c 100644
--- a/var/spack/repos/builtin/packages/msmpi/package.py
+++ b/var/spack/repos/builtin/packages/msmpi/package.py
@@ -18,6 +18,7 @@ class Msmpi(Package):
homepage = "https://docs.microsoft.com/en-us/message-passing-interface/microsoft-mpi"
url = "https://github.com/microsoft/Microsoft-MPI/archive/refs/tags/v10.1.1.tar.gz"
git = "https://github.com/microsoft/Microsoft-MPI.git"
+ tags = ["windows"]
executable = ["mpiexec"]
diff --git a/var/spack/repos/builtin/packages/nasm/package.py b/var/spack/repos/builtin/packages/nasm/package.py
index fc6e0bdad1..8045976ad8 100644
--- a/var/spack/repos/builtin/packages/nasm/package.py
+++ b/var/spack/repos/builtin/packages/nasm/package.py
@@ -16,6 +16,7 @@ class Nasm(AutotoolsPackage):
url = "https://www.nasm.us/pub/nasm/releasebuilds/2.14.02/nasm-2.14.02.tar.gz"
list_url = "https://www.nasm.us/pub/nasm/releasebuilds"
list_depth = 1
+ tags = ["windows"]
build_system("autotools", conditional("generic", when="platform=windows"), default="autotools")
diff --git a/var/spack/repos/builtin/packages/netlib-lapack/package.py b/var/spack/repos/builtin/packages/netlib-lapack/package.py
index fec55e212a..30641b57d8 100644
--- a/var/spack/repos/builtin/packages/netlib-lapack/package.py
+++ b/var/spack/repos/builtin/packages/netlib-lapack/package.py
@@ -17,6 +17,7 @@ class NetlibLapack(CMakePackage):
homepage = "https://www.netlib.org/lapack/"
url = "https://www.netlib.org/lapack/lapack-3.5.0.tgz"
+ tags = ["windows"]
version(
"3.10.1",
diff --git a/var/spack/repos/builtin/packages/ninja/package.py b/var/spack/repos/builtin/packages/ninja/package.py
index e89cbd9f06..8614b2c1b5 100644
--- a/var/spack/repos/builtin/packages/ninja/package.py
+++ b/var/spack/repos/builtin/packages/ninja/package.py
@@ -19,7 +19,7 @@ class Ninja(Package):
url = "https://github.com/ninja-build/ninja/archive/v1.7.2.tar.gz"
git = "https://github.com/ninja-build/ninja.git"
- tags = ["build-tools", "e4s"]
+ tags = ["build-tools", "e4s", "windows"]
executables = ["^ninja$"]
diff --git a/var/spack/repos/builtin/packages/openssl/package.py b/var/spack/repos/builtin/packages/openssl/package.py
index bfdcfee24c..b456a700ce 100644
--- a/var/spack/repos/builtin/packages/openssl/package.py
+++ b/var/spack/repos/builtin/packages/openssl/package.py
@@ -24,7 +24,7 @@ class Openssl(Package): # Uses Fake Autotools, should subclass Package
list_url = "https://www.openssl.org/source/old/"
list_depth = 1
- tags = ["core-packages"]
+ tags = ["core-packages", "windows"]
executables = ["openssl"]
diff --git a/var/spack/repos/builtin/packages/perl/package.py b/var/spack/repos/builtin/packages/perl/package.py
index 1fe5b9c911..0e2e4a0202 100644
--- a/var/spack/repos/builtin/packages/perl/package.py
+++ b/var/spack/repos/builtin/packages/perl/package.py
@@ -33,6 +33,7 @@ class Perl(Package): # Perl doesn't use Autotools, it should subclass Package
homepage = "https://www.perl.org"
# URL must remain http:// so Spack can bootstrap curl
url = "http://www.cpan.org/src/5.0/perl-5.34.0.tar.gz"
+ tags = ["windows"]
executables = [r"^perl(-?\d+.*)?$"]
diff --git a/var/spack/repos/builtin/packages/python/package.py b/var/spack/repos/builtin/packages/python/package.py
index 1cd5845cde..a67d8771e7 100644
--- a/var/spack/repos/builtin/packages/python/package.py
+++ b/var/spack/repos/builtin/packages/python/package.py
@@ -35,6 +35,7 @@ class Python(Package):
url = "https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz"
list_url = "https://www.python.org/ftp/python/"
list_depth = 1
+ tags = ["windows"]
maintainers = ["adamjstewart", "skosukhin", "scheibelp", "pradyunsg"]
diff --git a/var/spack/repos/builtin/packages/re2c/package.py b/var/spack/repos/builtin/packages/re2c/package.py
index 3568fadfe3..9311140f16 100644
--- a/var/spack/repos/builtin/packages/re2c/package.py
+++ b/var/spack/repos/builtin/packages/re2c/package.py
@@ -15,6 +15,7 @@ class Re2c(Package):
homepage = "https://re2c.org/index.html"
url = "https://github.com/skvadrik/re2c/releases/download/1.2.1/re2c-1.2.1.tar.xz"
+ tags = ["windows"]
version("2.2", sha256="0fc45e4130a8a555d68e230d1795de0216dfe99096b61b28e67c86dfd7d86bda")
version("2.1.1", sha256="036ee264fafd5423141ebd628890775aa9447a4c4068a6307385d7366fe711f8")
diff --git a/var/spack/repos/builtin/packages/ruby/package.py b/var/spack/repos/builtin/packages/ruby/package.py
index 285ab38bc5..4841a02be1 100644
--- a/var/spack/repos/builtin/packages/ruby/package.py
+++ b/var/spack/repos/builtin/packages/ruby/package.py
@@ -20,6 +20,7 @@ class Ruby(AutotoolsPackage, NMakePackage):
url = "https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.0.tar.gz"
list_url = "https://cache.ruby-lang.org/pub/ruby/"
list_depth = 1
+ tags = ["windows"]
version("3.1.0", sha256="50a0504c6edcb4d61ce6b8cfdbddaa95707195fab0ecd7b5e92654b2a9412854")
version("3.0.2", sha256="5085dee0ad9f06996a8acec7ebea4a8735e6fac22f22e2d98c3f2bc3bef7e6f1")
diff --git a/var/spack/repos/builtin/packages/scons/package.py b/var/spack/repos/builtin/packages/scons/package.py
index f45836d7b2..6f8e6174ef 100644
--- a/var/spack/repos/builtin/packages/scons/package.py
+++ b/var/spack/repos/builtin/packages/scons/package.py
@@ -15,7 +15,7 @@ class Scons(PythonPackage):
homepage = "https://scons.org"
pypi = "SCons/SCons-4.3.0.tar.gz"
- tags = ["build-tools"]
+ tags = ["build-tools", "windows"]
version("4.3.0", sha256="d47081587e3675cc168f1f54f0d74a69b328a2fc90ec4feb85f728677419b879")
version("4.2.0", sha256="691893b63f38ad14295f5104661d55cb738ec6514421c6261323351c25432b0a")
diff --git a/var/spack/repos/builtin/packages/wgl/package.py b/var/spack/repos/builtin/packages/wgl/package.py
index dae1c8fbc4..bbad4bf987 100644
--- a/var/spack/repos/builtin/packages/wgl/package.py
+++ b/var/spack/repos/builtin/packages/wgl/package.py
@@ -14,7 +14,7 @@ class Wgl(Package):
homepage = "https://learn.microsoft.com/en-us/windows/win32/opengl/wgl-and-windows-reference"
has_code = False
-
+ tags = ["windows"]
# hard code the extension as shared lib
libraries = ["OpenGL32.Lib"]
diff --git a/var/spack/repos/builtin/packages/win-sdk/package.py b/var/spack/repos/builtin/packages/win-sdk/package.py
index 968a3caaa5..aeab5be2b7 100644
--- a/var/spack/repos/builtin/packages/win-sdk/package.py
+++ b/var/spack/repos/builtin/packages/win-sdk/package.py
@@ -19,6 +19,7 @@ class WinSdk(Package):
homepage = "https://developer.microsoft.com/en-us/windows/downloads/windows-sdk/"
has_code = False
+ tags = ["windows"]
# The sdk has many libraries and executables. Record one for detection purposes
libraries = ["rcdll.dll"]
diff --git a/var/spack/repos/builtin/packages/win-wdk/package.py b/var/spack/repos/builtin/packages/win-wdk/package.py
index 032177cc34..ad3309c3a0 100644
--- a/var/spack/repos/builtin/packages/win-wdk/package.py
+++ b/var/spack/repos/builtin/packages/win-wdk/package.py
@@ -18,6 +18,7 @@ class WinWdk(Package):
"""
homepage = "https://learn.microsoft.com/en-us/windows-hardware/drivers/"
+ tags = ["windows"]
# The wdk has many libraries and executables. Record one for detection purposes
libraries = ["mmos.lib"]
diff --git a/var/spack/repos/builtin/packages/winbison/package.py b/var/spack/repos/builtin/packages/winbison/package.py
index a809975391..a17fdde893 100644
--- a/var/spack/repos/builtin/packages/winbison/package.py
+++ b/var/spack/repos/builtin/packages/winbison/package.py
@@ -16,6 +16,7 @@ class Winbison(CMakePackage):
homepage = "https://github.com/lexxmark/winflexbison#readme"
url = "https://github.com/lexxmark/winflexbison/archive/v2.5.25.tar.gz"
+ tags = ["windows"]
executables = [r"^bison(.*)?$"]
diff --git a/var/spack/repos/builtin/packages/wrf/package.py b/var/spack/repos/builtin/packages/wrf/package.py
index 5ef5c14a0e..b0d87af04a 100644
--- a/var/spack/repos/builtin/packages/wrf/package.py
+++ b/var/spack/repos/builtin/packages/wrf/package.py
@@ -69,6 +69,7 @@ class Wrf(Package):
homepage = "https://www.mmm.ucar.edu/weather-research-and-forecasting-model"
url = "https://github.com/wrf-model/WRF/archive/v4.2.tar.gz"
maintainers = ["MichaelLaufer", "ptooley"]
+ tags = ["windows"]
version(
"4.4",