aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBence Ferdinandy <bence@ferdinandy.com>2024-07-11 11:34:19 +0200
committerRobin Jarry <robin@jarry.cc>2024-08-20 11:52:25 +0200
commit5d56a6fc75e8104e222a912caee61b1f0376b556 (patch)
tree88e2765ed4d8b684a5c278d010546c5ab820148d
parenta890fcb435e223897e9cacd92fc95673af45fb81 (diff)
downloadaerc-5d56a6fc75e8104e222a912caee61b1f0376b556.tar.gz
go: bump minimal version to 1.21 and handle deprecations
Go 1.18 is already EOL. go-maildir v0.5.0 requires go 1.20 at least. Since go 1.20 is also EOL, bump the minimum required go version to the first still supported version which is 1.21. Go 1.20 deprecated Seed and Read in math/rand. Update the code accordingly. Changelog-deprecated: Support for go 1.20 and older. Signed-off-by: Bence Ferdinandy <bence@ferdinandy.com> Acked-by: Robin Jarry <robin@jarry.cc>
-rw-r--r--.builds/alpine-edge.yml4
-rw-r--r--.github/workflows/macos.yml2
-rw-r--r--README.md2
-rw-r--r--go.mod2
-rw-r--r--lib/pama/apply.go5
-rw-r--r--main.go5
6 files changed, 8 insertions, 12 deletions
diff --git a/.builds/alpine-edge.yml b/.builds/alpine-edge.yml
index c8dcc6f0..a03f101e 100644
--- a/.builds/alpine-edge.yml
+++ b/.builds/alpine-edge.yml
@@ -20,6 +20,6 @@ tasks:
- install: |
gmake -C aerc install checkinstall
- ancient-go-version: |
- curl -O https://dl-cdn.alpinelinux.org/alpine/v3.16/community/x86_64/go-1.18.7-r0.apk
- sudo apk add ./go-1.18.7-r0.apk
+ curl -O https://dl-cdn.alpinelinux.org/alpine/v3.19/community/x86_64/go-1.21.10-r0.apk
+ sudo apk add ./go-1.21.10-r0.apk
gmake -C aerc clean all
diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml
index 950a7642..3e355a2d 100644
--- a/.github/workflows/macos.yml
+++ b/.github/workflows/macos.yml
@@ -7,7 +7,7 @@ jobs:
strategy:
matrix:
go:
- - '1.18'
+ - '1.21'
- '1.22'
env:
DESTDIR: ./out
diff --git a/README.md b/README.md
index ac593541..e7ce93ca 100644
--- a/README.md
+++ b/README.md
@@ -69,7 +69,7 @@ And likely other platforms.
Install the dependencies:
-- go (>=1.18) *(Go versions are supported until their end-of-life; support for
+- go (>=1.21) *(Go versions are supported until their end-of-life; support for
older versions may be dropped at any time due to incompatibilities or newer
required language features.)*
- [scdoc](https://git.sr.ht/~sircmpwn/scdoc)
diff --git a/go.mod b/go.mod
index 2c813b39..f78ab9c1 100644
--- a/go.mod
+++ b/go.mod
@@ -1,6 +1,6 @@
module git.sr.ht/~rjarry/aerc
-go 1.18
+go 1.21
require (
git.sr.ht/~rjarry/go-opt v1.4.0
diff --git a/lib/pama/apply.go b/lib/pama/apply.go
index f97c7701..2dd9ecfc 100644
--- a/lib/pama/apply.go
+++ b/lib/pama/apply.go
@@ -1,9 +1,10 @@
package pama
import (
+ "crypto/rand"
"encoding/base64"
"fmt"
- "math/rand"
+ mathrand "math/rand"
"strings"
"git.sr.ht/~rjarry/aerc/lib/log"
@@ -88,7 +89,7 @@ func generateTag(n int) (string, error) {
func makeUnique(s string) string {
tag, err := generateTag(4)
if err != nil {
- return fmt.Sprintf("%s_%d", s, rand.Uint32())
+ return fmt.Sprintf("%s_%d", s, mathrand.Uint32())
}
return fmt.Sprintf("%s_%s", s, tag)
}
diff --git a/main.go b/main.go
index 123d360d..efdbf653 100644
--- a/main.go
+++ b/main.go
@@ -4,7 +4,6 @@ import (
"context"
"errors"
"fmt"
- "math/rand"
"os"
"runtime"
"sort"
@@ -303,7 +302,3 @@ loop:
}
}
}
-
-func init() {
- rand.Seed(time.Now().UnixNano())
-}