aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNikolay Govorov <me@govorov.online>2026-04-01 20:29:05 +0100
committerNikolay Govorov <me@govorov.online>2026-04-01 20:29:05 +0100
commite704a47d81e86e4815fa051af46ab1fdb162f5c7 (patch)
treea86337b99a0270884f7408cb5c0ef3836aaa0a57
parent2f126a20d537787763e169dd63924f67ac6486d2 (diff)
downloadtar
tar.gz
tar.bz2
tar.lz
tar.xz
tar.zst
zip
Fix package name, remove hask for VERSION embedding
Diffstat
-rw-r--r--VERSION.go12+12 −0
-rw-r--r--cmd/mirumd/main.go8+4 −4
-rw-r--r--cmd/mirumw/client.go6+3 −3
-rw-r--r--cmd/mirumw/main.go4+2 −2
-rw-r--r--go.mod2+1 −1
-rw-r--r--internal/protocol/platform.go2+1 −1
-rw-r--r--internal/protocol/version.go36+23 −13
7 files changed, 46 insertions, 24 deletions
diff --git a/VERSION.go b/VERSION.go
new file mode 100644
--- /dev/null
+++ b/VERSION.go
@@ -0,0 +1,12 @@
+// Copyright (c) 2026 Nikolay Govorov
+// SPDX-License-Identifier: AGPL-3.0-or-later
+
+// This package is a small hack for embedding VERSION into a project.
+// Go sensibly prohibits embedding files from parent folders,
+// so this file is only needed to bypass the restriction.
+package mirum
+
+import _ "embed"
+
+//go:embed VERSION
+var Version string
diff --git a/cmd/mirumd/main.go b/cmd/mirumd/main.go
index da78050..8bf098f 100644
--- a/cmd/mirumd/main.go
+++ b/cmd/mirumd/main.go
@@ -16,10 +16,10 @@ import (
"sync"
"time"
- "mrdimidium/mirum/internal/forges"
- "mrdimidium/mirum/internal/protocol"
- "mrdimidium/mirum/internal/protocol/pb"
- "mrdimidium/mirum/internal/supervisor"
+ "dimidiumlabs/mirum/internal/forges"
+ "dimidiumlabs/mirum/internal/protocol"
+ "dimidiumlabs/mirum/internal/protocol/pb"
+ "dimidiumlabs/mirum/internal/supervisor"
"github.com/coreos/go-systemd/v22/activation"
"google.golang.org/grpc"
diff --git a/cmd/mirumw/client.go b/cmd/mirumw/client.go
index 57ca17b..b3be01f 100644
--- a/cmd/mirumw/client.go
+++ b/cmd/mirumw/client.go
@@ -12,9 +12,9 @@ import (
"os"
"time"
- "mrdimidium/mirum/internal/executor"
- "mrdimidium/mirum/internal/protocol"
- "mrdimidium/mirum/internal/protocol/pb"
+ "dimidiumlabs/mirum/internal/executor"
+ "dimidiumlabs/mirum/internal/protocol"
+ "dimidiumlabs/mirum/internal/protocol/pb"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials"
diff --git a/cmd/mirumw/main.go b/cmd/mirumw/main.go
index 1a59e8b..40d3837 100644
--- a/cmd/mirumw/main.go
+++ b/cmd/mirumw/main.go
@@ -10,8 +10,8 @@ import (
"net"
"os"
- "mrdimidium/mirum/internal/protocol"
- "mrdimidium/mirum/internal/supervisor"
+ "dimidiumlabs/mirum/internal/protocol"
+ "dimidiumlabs/mirum/internal/supervisor"
)
func main() {
diff --git a/go.mod b/go.mod
index db39819..ae3cb3b 100644
--- a/go.mod
+++ b/go.mod
@@ -1,4 +1,4 @@
-module mrdimidium/mirum
+module dimidiumlabs/mirum
go 1.26.1
diff --git a/internal/protocol/platform.go b/internal/protocol/platform.go
index b126bed..beac035 100644
--- a/internal/protocol/platform.go
+++ b/internal/protocol/platform.go
@@ -6,7 +6,7 @@ package protocol
import (
"runtime"
- "mrdimidium/mirum/internal/protocol/pb"
+ "dimidiumlabs/mirum/internal/protocol/pb"
)
var osMap = map[string]pb.Os{
diff --git a/internal/protocol/version.go b/internal/protocol/version.go
index 28e90d4..0cd40a9 100644
--- a/internal/protocol/version.go
+++ b/internal/protocol/version.go
@@ -4,15 +4,16 @@
package protocol
import (
+ "errors"
"fmt"
"strconv"
"strings"
- "mrdimidium/mirum/internal/protocol/pb"
+ mirum "dimidiumlabs/mirum"
+ "dimidiumlabs/mirum/internal/protocol/pb"
)
-// Set via -ldflags "-X mrdimidium/mirum/internal/protocol.raw=0.1.0"
-var raw string
+var ErrInvalidVersion = errors.New("invalid version string")
var (
Major uint32
@@ -21,13 +22,27 @@ var (
)
func init() {
- parts := strings.SplitN(strings.TrimSpace(raw), ".", 3)
+ var err error
+ Major, Minor, Patch, err = ParseVersion(mirum.Version)
+ if err != nil {
+ panic(fmt.Sprintf("version: %v", err))
+ }
+}
- if len(parts) == 3 {
- Major = parseUint(parts[0])
- Minor = parseUint(parts[1])
- Patch = parseUint(parts[2])
+// ParseVersion parses a "major.minor.patch" string.
+func ParseVersion(s string) (major, minor, patch uint32, err error) {
+ s = strings.TrimSpace(s)
+ parts := strings.SplitN(s, ".", 3)
+ if len(parts) != 3 {
+ return 0, 0, 0, ErrInvalidVersion
+ }
+ n0, err0 := strconv.ParseUint(parts[0], 10, 32)
+ n1, err1 := strconv.ParseUint(parts[1], 10, 32)
+ n2, err2 := strconv.ParseUint(parts[2], 10, 32)
+ if err0 != nil || err1 != nil || err2 != nil {
+ return 0, 0, 0, ErrInvalidVersion
}
+ return uint32(n0), uint32(n1), uint32(n2), nil
}
func VersionString() string {
@@ -37,8 +52,3 @@ func VersionString() string {
func VersionProto() *pb.Version {
return &pb.Version{Major: Major, Minor: Minor, Patch: Patch}
}
-
-func parseUint(s string) uint32 {
- n, _ := strconv.ParseUint(s, 10, 32)
- return uint32(n)
-}