Update README

This commit is contained in:
Vorapol Rinsatitnon
2024-09-22 02:21:11 +10:00
parent 3593bfc89d
commit 72f62f6f99

104
README.md
View File

@@ -1,38 +1,102 @@
# The Go Programming Language
Go is an open source programming language that makes it easy to build simple,
reliable, and efficient software.
**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.
![Gopher image](https://golang.org/doc/gopher/fiveyears.jpg)
*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.
There is a mirror of the repository at https://github.com/golang/go.
## Differences from Upstream Go
Unless otherwise noted, the Go source files are distributed under the
BSD-style license found in the LICENSE file.
1. **Windows 7 Support**
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
for installation instructions.
## Changes in Each Release
#### Install From Source
Every release includes the following modifications:
If a binary distribution is not available for your combination of
operating system and architecture, visit
https://go.dev/doc/install/source
for source installation instructions.
- Restored Windows 7 support by reverting [693def1](https://github.com/golang/go/commit/693def151adff1af707d82d28f55dba81ceb08e1)
- The Windows binary provided here also supports Windows 7
- Restored deprecated `go get` behaviour for use outside modules (reverted [de4d503](https://github.com/golang/go/commit/de4d50316fb5c6d1529aa5377dc93b26021ee843))
- 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
proposals only. See https://go.dev/wiki/Questions for a list of