Update README
This commit is contained in:
104
README.md
104
README.md
@@ -1,38 +1,102 @@
|
|||||||
# The Go Programming Language
|
# The Go Programming Language
|
||||||
|
|
||||||
Go is an open source programming language that makes it easy to build simple,
|
**go-legacy-win7** is a fork of the Go programming language that maintains Windows 7 support and allows for deprecated `go get` behaviour. This project aims to provide a stable Go environment for users who need to support legacy Windows systems or prefer the traditional Go workflow.
|
||||||
reliable, and efficient software.
|
|
||||||
|
|
||||||

|

|
||||||
*Gopher image by [Renee French][rf], licensed under [Creative Commons 4.0 Attribution license][cc4-by].*
|
_Gopher image by [Renee French][rf], licensed under [Creative Commons 4.0 Attribution licence][cc4-by]._
|
||||||
|
|
||||||
Our canonical Git repository is located at https://go.googlesource.com/go.
|
## Differences from Upstream Go
|
||||||
There is a mirror of the repository at https://github.com/golang/go.
|
|
||||||
|
|
||||||
Unless otherwise noted, the Go source files are distributed under the
|
1. **Windows 7 Support**
|
||||||
BSD-style license found in the LICENSE file.
|
Whilst the official Go project has dropped support for Windows 7, this fork maintains compatibility with Windows 7 systems.
|
||||||
|
|
||||||
### Download and Install
|
2. **Classic `go get` Behaviour**
|
||||||
|
This fork allows for the deprecated `go get` behaviour when `GO111MODULE` is set to "off" or "auto". This means:
|
||||||
|
|
||||||
#### Binary Distributions
|
- In `GOPATH/src`, `go get` and `go install` can operate in `GOPATH` mode.
|
||||||
|
- Outside of `GOPATH/src`, these commands can use module-aware mode when appropriate.
|
||||||
|
|
||||||
Official binary distributions are available at https://go.dev/dl/.
|
3. **Compatibility Notes**
|
||||||
|
Please be aware that some newer Go features may not be fully compatible with Windows 7. We try to maintain as much functionality as possible, but some limitations may exist.
|
||||||
|
|
||||||
After downloading a binary release, visit https://go.dev/doc/install
|
## Changes in Each Release
|
||||||
for installation instructions.
|
|
||||||
|
|
||||||
#### Install From Source
|
Every release includes the following modifications:
|
||||||
|
|
||||||
If a binary distribution is not available for your combination of
|
- Restored Windows 7 support by reverting [693def1](https://github.com/golang/go/commit/693def151adff1af707d82d28f55dba81ceb08e1)
|
||||||
operating system and architecture, visit
|
- The Windows binary provided here also supports Windows 7
|
||||||
https://go.dev/doc/install/source
|
- Restored deprecated `go get` behaviour for use outside modules (reverted [de4d503](https://github.com/golang/go/commit/de4d50316fb5c6d1529aa5377dc93b26021ee843))
|
||||||
for source installation instructions.
|
- Includes all improvements and bug fixes from the corresponding upstream Go release
|
||||||
|
|
||||||
### Contributing
|
## Download and Install
|
||||||
|
|
||||||
Go is the work of thousands of contributors. We appreciate your help!
|
### Binary Distributions
|
||||||
|
|
||||||
To contribute, please read the contribution guidelines at https://go.dev/doc/contribute.
|
Binary distributions are **available at the [release page](https://github.com/thongtech/go-legacy-win7/releases)**.
|
||||||
|
|
||||||
|
#### Windows Installation
|
||||||
|
|
||||||
|
1. Download the `go-legacy-win7-<version>.windows-<arch>.zip` file.
|
||||||
|
2. Extract the ZIP to `C:\Go` (or any preferred location).
|
||||||
|
3. Add `C:\Go\bin` (or your chosen path) to the system `PATH`.
|
||||||
|
4. Add `%USERPROFILE%\go\bin` to the user `PATH`.
|
||||||
|
5. Add `%USERPROFILE%\go` as `GOPATH` to user variables.
|
||||||
|
|
||||||
|
#### macOS Installation
|
||||||
|
|
||||||
|
1. Download the appropriate `go-legacy-win7-<version>.darwin-<arch>.tar.gz` file.
|
||||||
|
2. Extract the archive to `/usr/local`:
|
||||||
|
```
|
||||||
|
sudo tar -C /usr/local -xzf go-legacy-win7-<version>.darwin-<arch>.tar.gz
|
||||||
|
```
|
||||||
|
3. Add `/usr/local/go-legacy-win7/bin` to your PATH and set GOPATH:
|
||||||
|
- For bash (if you're using bash):
|
||||||
|
```
|
||||||
|
echo 'export PATH=$PATH:/usr/local/go-legacy-win7/bin:$HOME/go-legacy-win7/bin' >> ~/.bash_profile
|
||||||
|
echo 'export GOPATH=$HOME/go' >> ~/.bash_profile
|
||||||
|
source ~/.bash_profile
|
||||||
|
```
|
||||||
|
- For zsh (default on macOS Catalina and later):
|
||||||
|
```
|
||||||
|
echo 'export PATH=$PATH:/usr/local/go-legacy-win7/bin:$HOME/go-legacy-win7/bin' >> ~/.zshrc
|
||||||
|
echo 'export GOPATH=$HOME/go' >> ~/.zshrc
|
||||||
|
source ~/.zshrc
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Linux Installation
|
||||||
|
|
||||||
|
1. Download the appropriate `go-legacy-win7-<version>.linux-<arch>.tar.gz` file.
|
||||||
|
2. Extract the archive to `/usr/local`:
|
||||||
|
```
|
||||||
|
sudo tar -C /usr/local -xzf go-legacy-win7-<version>.linux-<arch>.tar.gz
|
||||||
|
```
|
||||||
|
3. Add `/usr/local/go-legacy-win7/bin` to your PATH and set GOPATH:
|
||||||
|
- For bash (default on most Linux distributions):
|
||||||
|
```
|
||||||
|
echo 'export PATH=$PATH:/usr/local/go-legacy-win7/bin:$HOME/go-legacy-win7/bin' >> ~/.bashrc
|
||||||
|
echo 'export GOPATH=$HOME/go' >> ~/.bashrc
|
||||||
|
source ~/.bashrc
|
||||||
|
```
|
||||||
|
- For zsh (if you're using zsh):
|
||||||
|
```
|
||||||
|
echo 'export PATH=$PATH:/usr/local/go-legacy-win7/bin:$HOME/go-legacy-win7/bin' >> ~/.zshrc
|
||||||
|
echo 'export GOPATH=$HOME/go' >> ~/.zshrc
|
||||||
|
source ~/.zshrc
|
||||||
|
```
|
||||||
|
|
||||||
|
After installation, verify the installation by opening a **new terminal** and running:
|
||||||
|
|
||||||
|
```
|
||||||
|
go version
|
||||||
|
```
|
||||||
|
|
||||||
|
### Install From Source
|
||||||
|
|
||||||
|
To install from source, please follow the steps on the [official website](https://go.dev/doc/install/source).
|
||||||
|
|
||||||
|
## Contributing
|
||||||
|
|
||||||
|
Feedback and issue reports are welcome, and we encourage you to open pull requests to contribute to the project. We appreciate your help!
|
||||||
|
|
||||||
Note that the Go project uses the issue tracker for bug reports and
|
Note that the Go project uses the issue tracker for bug reports and
|
||||||
proposals only. See https://go.dev/wiki/Questions for a list of
|
proposals only. See https://go.dev/wiki/Questions for a list of
|
||||||
|
|||||||
Reference in New Issue
Block a user