internal/rosa: resolve preset by name
All checks were successful
Test / Create distribution (push) Successful in 59s
Test / Sandbox (push) Successful in 2m40s
Test / Hakurei (push) Successful in 4m1s
Test / ShareFS (push) Successful in 3m56s
Test / Hpkg (push) Successful in 4m29s
Test / Sandbox (race detector) (push) Successful in 5m3s
Test / Hakurei (race detector) (push) Successful in 6m9s
Test / Flake checks (push) Successful in 1m37s
All checks were successful
Test / Create distribution (push) Successful in 59s
Test / Sandbox (push) Successful in 2m40s
Test / Hakurei (push) Successful in 4m1s
Test / ShareFS (push) Successful in 3m56s
Test / Hpkg (push) Successful in 4m29s
Test / Sandbox (race detector) (push) Successful in 5m3s
Test / Hakurei (race detector) (push) Successful in 6m9s
Test / Flake checks (push) Successful in 1m37s
Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
102
cmd/mbf/main.go
102
cmd/mbf/main.go
@@ -146,111 +146,15 @@ func main() {
|
|||||||
if len(args) != 1 {
|
if len(args) != 1 {
|
||||||
return errors.New("cure requires 1 argument")
|
return errors.New("cure requires 1 argument")
|
||||||
}
|
}
|
||||||
var p rosa.PArtifact
|
if p, ok := rosa.Std.ResolveName(args[0]); !ok {
|
||||||
switch args[0] {
|
|
||||||
case "acl":
|
|
||||||
p = rosa.ACL
|
|
||||||
case "attr":
|
|
||||||
p = rosa.Attr
|
|
||||||
case "autoconf":
|
|
||||||
p = rosa.Autoconf
|
|
||||||
case "bash":
|
|
||||||
p = rosa.Bash
|
|
||||||
case "busybox":
|
|
||||||
p = rosa.Busybox
|
|
||||||
case "cmake":
|
|
||||||
p = rosa.CMake
|
|
||||||
case "coreutils":
|
|
||||||
p = rosa.Coreutils
|
|
||||||
case "diffutils":
|
|
||||||
p = rosa.Diffutils
|
|
||||||
case "fuse":
|
|
||||||
p = rosa.Fuse
|
|
||||||
case "gawk":
|
|
||||||
p = rosa.Gawk
|
|
||||||
case "gettext":
|
|
||||||
p = rosa.Gettext
|
|
||||||
case "git":
|
|
||||||
p = rosa.Git
|
|
||||||
case "go":
|
|
||||||
p = rosa.Go
|
|
||||||
case "gperf":
|
|
||||||
p = rosa.Gperf
|
|
||||||
case "hakurei":
|
|
||||||
p = rosa.Hakurei
|
|
||||||
case "hakurei-dist":
|
|
||||||
p = rosa.HakureiDist
|
|
||||||
case "iniconfig":
|
|
||||||
p = rosa.IniConfig
|
|
||||||
case "kernel-headers":
|
|
||||||
p = rosa.KernelHeaders
|
|
||||||
case "libXau":
|
|
||||||
p = rosa.LibXau
|
|
||||||
case "libexpat":
|
|
||||||
p = rosa.Libexpat
|
|
||||||
case "libseccomp":
|
|
||||||
p = rosa.Libseccomp
|
|
||||||
case "libxml2":
|
|
||||||
p = rosa.Libxml2
|
|
||||||
case "libffi":
|
|
||||||
p = rosa.Libffi
|
|
||||||
case "libgd":
|
|
||||||
p = rosa.Libgd
|
|
||||||
case "m4":
|
|
||||||
p = rosa.M4
|
|
||||||
case "make":
|
|
||||||
p = rosa.Make
|
|
||||||
case "meson":
|
|
||||||
p = rosa.Meson
|
|
||||||
case "nss":
|
|
||||||
p = rosa.NSS
|
|
||||||
case "nss-cacert":
|
|
||||||
p = rosa.NSSCACert
|
|
||||||
case "ninja":
|
|
||||||
p = rosa.Ninja
|
|
||||||
case "packaging":
|
|
||||||
p = rosa.Packaging
|
|
||||||
case "patch":
|
|
||||||
p = rosa.Patch
|
|
||||||
case "perl":
|
|
||||||
p = rosa.Perl
|
|
||||||
case "pkg-config":
|
|
||||||
p = rosa.PkgConfig
|
|
||||||
case "pluggy":
|
|
||||||
p = rosa.Pluggy
|
|
||||||
case "pytest":
|
|
||||||
p = rosa.PyTest
|
|
||||||
case "pygments":
|
|
||||||
p = rosa.Pygments
|
|
||||||
case "python":
|
|
||||||
p = rosa.Python
|
|
||||||
case "rsync":
|
|
||||||
p = rosa.Rsync
|
|
||||||
case "setuptools":
|
|
||||||
p = rosa.Setuptools
|
|
||||||
case "wayland":
|
|
||||||
p = rosa.Wayland
|
|
||||||
case "wayland-protocols":
|
|
||||||
p = rosa.WaylandProtocols
|
|
||||||
case "xcb":
|
|
||||||
p = rosa.XCB
|
|
||||||
case "xcb-proto":
|
|
||||||
p = rosa.XCBProto
|
|
||||||
case "xproto":
|
|
||||||
p = rosa.Xproto
|
|
||||||
case "zlib":
|
|
||||||
p = rosa.Zlib
|
|
||||||
|
|
||||||
default:
|
|
||||||
return fmt.Errorf("unsupported artifact %q", args[0])
|
return fmt.Errorf("unsupported artifact %q", args[0])
|
||||||
}
|
} else {
|
||||||
|
|
||||||
pathname, _, err := cache.Cure(rosa.Std.Load(p))
|
pathname, _, err := cache.Cure(rosa.Std.Load(p))
|
||||||
if err == nil {
|
if err == nil {
|
||||||
log.Println(pathname)
|
log.Println(pathname)
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
|
}
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -80,3 +80,56 @@ func (t Toolchain) Load(p PArtifact) pkg.Artifact {
|
|||||||
})
|
})
|
||||||
return artifacts[t][p]
|
return artifacts[t][p]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ResolveName returns a [PArtifact] by name.
|
||||||
|
func (t Toolchain) ResolveName(name string) (p PArtifact, ok bool) {
|
||||||
|
p, ok = map[string]PArtifact{
|
||||||
|
"acl": ACL,
|
||||||
|
"attr": Attr,
|
||||||
|
"autoconf": Autoconf,
|
||||||
|
"bash": Bash,
|
||||||
|
"busybox": Busybox,
|
||||||
|
"cmake": CMake,
|
||||||
|
"coreutils": Coreutils,
|
||||||
|
"diffutils": Diffutils,
|
||||||
|
"fuse": Fuse,
|
||||||
|
"gawk": Gawk,
|
||||||
|
"gettext": Gettext,
|
||||||
|
"git": Git,
|
||||||
|
"go": Go,
|
||||||
|
"gperf": Gperf,
|
||||||
|
"hakurei": Hakurei,
|
||||||
|
"hakurei-dist": HakureiDist,
|
||||||
|
"iniconfig": IniConfig,
|
||||||
|
"kernel-headers": KernelHeaders,
|
||||||
|
"libXau": LibXau,
|
||||||
|
"libexpat": Libexpat,
|
||||||
|
"libseccomp": Libseccomp,
|
||||||
|
"libxml2": Libxml2,
|
||||||
|
"libffi": Libffi,
|
||||||
|
"libgd": Libgd,
|
||||||
|
"m4": M4,
|
||||||
|
"make": Make,
|
||||||
|
"meson": Meson,
|
||||||
|
"nss": NSS,
|
||||||
|
"nss-cacert": NSSCACert,
|
||||||
|
"ninja": Ninja,
|
||||||
|
"packaging": Packaging,
|
||||||
|
"patch": Patch,
|
||||||
|
"perl": Perl,
|
||||||
|
"pkg-config": PkgConfig,
|
||||||
|
"pluggy": Pluggy,
|
||||||
|
"pytest": PyTest,
|
||||||
|
"pygments": Pygments,
|
||||||
|
"python": Python,
|
||||||
|
"rsync": Rsync,
|
||||||
|
"setuptools": Setuptools,
|
||||||
|
"wayland": Wayland,
|
||||||
|
"wayland-protocols": WaylandProtocols,
|
||||||
|
"xcb": XCB,
|
||||||
|
"xcb-proto": XCBProto,
|
||||||
|
"xproto": Xproto,
|
||||||
|
"zlib": Zlib,
|
||||||
|
}[name]
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user