mirror of
https://github.com/jimeh/build-emacs-for-macos.git
synced 2026-02-19 08:26:39 +00:00
45 lines
646 B
Go
45 lines
646 B
Go
package main
|
|
|
|
import (
|
|
"os/exec"
|
|
"strings"
|
|
)
|
|
|
|
var OSInfo = &osInfo{}
|
|
|
|
type osInfo struct {
|
|
version string
|
|
arch string
|
|
}
|
|
|
|
func (s *osInfo) Arch() string {
|
|
if s.arch != "" {
|
|
return s.arch
|
|
}
|
|
|
|
cmd, err := exec.Command("uname", "-m").CombinedOutput()
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
s.arch = strings.TrimSpace(string(cmd))
|
|
|
|
return s.arch
|
|
}
|
|
|
|
func (s *osInfo) Version() string {
|
|
if s.version != "" {
|
|
return s.version
|
|
}
|
|
|
|
cmd, err := exec.Command("sw_vers", "-productVersion").CombinedOutput()
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
parts := strings.Split(string(cmd), ".")
|
|
s.version = strings.Join(parts[0:2], ".")
|
|
|
|
return s.version
|
|
}
|