diff options
author | Alec Scott <hi@alecbcs.com> | 2023-03-10 16:27:49 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-10 16:27:49 -0800 |
commit | f5228cf59c301c61c83d8139d9599eded5939d23 (patch) | |
tree | def55e673753591d2529afb4a699f72846c6aec4 /var/spack/repos/builtin/packages/gcc/package.py | |
parent | 08d7f47278a17bde42ff03623b95a3deea0d407b (diff) | |
download | spack-f5228cf59c301c61c83d8139d9599eded5939d23.tar.gz spack-f5228cf59c301c61c83d8139d9599eded5939d23.tar.bz2 spack-f5228cf59c301c61c83d8139d9599eded5939d23.tar.xz spack-f5228cf59c301c61c83d8139d9599eded5939d23.zip |
go: refactor bootstrapping process (#35823)
* Refactor go bootstrapping to include binary or gcc bootstrap
Diffstat (limited to 'var/spack/repos/builtin/packages/gcc/package.py')
-rw-r--r-- | var/spack/repos/builtin/packages/gcc/package.py | 47 |
1 files changed, 22 insertions, 25 deletions
diff --git a/var/spack/repos/builtin/packages/gcc/package.py b/var/spack/repos/builtin/packages/gcc/package.py index 15826825ec..e70d0bea9e 100644 --- a/var/spack/repos/builtin/packages/gcc/package.py +++ b/var/spack/repos/builtin/packages/gcc/package.py @@ -197,36 +197,33 @@ class Gcc(AutotoolsPackage, GNUMirrorPackage): depends_on("autogen@5.5.4:", type="test") depends_on("guile@1.4.1:", type="test") - # See https://golang.org/doc/install/gccgo#Releases + # See https://go.dev/doc/install/gccgo#Releases with when("languages=go"): - provides("golang", when="@4.6:") - provides("golang@:1", when="@4.7.1:") - provides("golang@:1.1", when="@4.8:") - provides("golang@:1.1.2", when="@4.8.2:") + provides("go-or-gccgo-bootstrap@:1.0", when="@4.7.1:") + provides("go-or-gccgo-bootstrap@:1.2", when="@4.9:") + provides("go-or-gccgo-bootstrap@:1.4", when="@5:") + provides("go-or-gccgo-bootstrap@:1.6.1", when="@6:") + provides("go-or-gccgo-bootstrap@:1.8.1", when="@7:") + provides("go-or-gccgo-bootstrap@:1.10.1", when="@8:") + provides("go-or-gccgo-bootstrap@:1.12.2", when="@9:") + provides("go-or-gccgo-bootstrap@:1.14.6", when="@10:") + provides("go-or-gccgo-bootstrap@1.16.3:1.16.5", when="@11:") + + provides("golang@:1.0", when="@4.7.1:") provides("golang@:1.2", when="@4.9:") provides("golang@:1.4", when="@5:") provides("golang@:1.6.1", when="@6:") - provides("golang@:1.8", when="@7:") - provides("golang@:1.10", when="@8:") - provides("golang@:1.12", when="@9:") - provides("golang@:1.14", when="@10:") - provides("golang@:1.16", when="@11:") - provides("golang@:1.18", when="@11:") - # GCC 4.6 added support for the Go programming language. - # See https://gcc.gnu.org/gcc-4.6/changes.html - conflicts("@:4.5", msg="support for Go has been added in GCC 4.6") - # aarch64 machines (including Macs with Apple silicon) can't use - # go-bootstrap because it pre-dates aarch64 support in Go. When not - # using an external go bootstrap go, These machines have to rely on - # Go support in gcc (which may require compiling a version of gcc - # with Go support just to satisfy this requirement). However, - # there's also a bug in some versions of GCC's Go front-end that prevents - # these versions from properly bootstrapping Go. (See issue #47771 - # https://github.com/golang/go/issues/47771 ) On the 10.x branch, we need - # at least 10.4. On the 11.x branch, we need at least 11.3: - provides("go-external-or-gccgo-bootstrap", when="gcc@10.4.0:10,11.3.0:target=aarch64:") + provides("golang@:1.8.1", when="@7:") + provides("golang@:1.10.1", when="@8:") + provides("golang@:1.12.2", when="@9:") + provides("golang@:1.14.6", when="@10:") + provides("golang@1.16.3:1.16.5", when="@11:") + + # GCC 4.7.1 added full support for the Go 1.x programming language. + conflicts("@:4.7.0") + # Go is not supported on macOS - conflicts("platform=darwin", msg="Go not supported on MacOS") + conflicts("platform=darwin", msg="GCC cannot build Go support on MacOS") # For a list of valid languages for a specific release, # run the following command in the GCC source directory: |