internal/rosa: panic error for invalid handle
All checks were successful
Test / Create distribution (push) Successful in 1m4s
Test / Sandbox (push) Successful in 2m53s
Test / Hakurei (push) Successful in 3m52s
Test / ShareFS (push) Successful in 4m42s
Test / Sandbox (race detector) (push) Successful in 5m28s
Test / Hakurei (race detector) (push) Successful in 6m36s
Test / Flake checks (push) Successful in 1m23s
All checks were successful
Test / Create distribution (push) Successful in 1m4s
Test / Sandbox (push) Successful in 2m53s
Test / Hakurei (push) Successful in 3m52s
Test / ShareFS (push) Successful in 4m42s
Test / Sandbox (race detector) (push) Successful in 5m28s
Test / Hakurei (race detector) (push) Successful in 6m36s
Test / Flake checks (push) Successful in 1m23s
This enables recovery and better error handling for errors originating from external azalea files. Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
@@ -58,6 +58,19 @@ func main() {
|
||||
log.Fatal("this program must not run as root")
|
||||
}
|
||||
|
||||
defer func() {
|
||||
r := recover()
|
||||
if r == nil {
|
||||
return
|
||||
}
|
||||
|
||||
h, ok := r.(rosa.HandleError)
|
||||
if !ok {
|
||||
panic(r)
|
||||
}
|
||||
log.Fatal(h)
|
||||
}()
|
||||
|
||||
ctx, stop := signal.NotifyContext(context.Background(),
|
||||
syscall.SIGINT, syscall.SIGTERM, syscall.SIGHUP)
|
||||
defer stop()
|
||||
|
||||
@@ -19,6 +19,9 @@ import (
|
||||
// ArtifactH is a handle of the unique name of a prepared [pkg.Artifact].
|
||||
type ArtifactH unique.Handle[string]
|
||||
|
||||
// H is a convenient function for acquiring an [ArtifactH] by name.
|
||||
func H(name string) ArtifactH { return ArtifactH(unique.Make(name)) }
|
||||
|
||||
// String returns the name of p.
|
||||
func (handle ArtifactH) String() string {
|
||||
return unique.Handle[string](handle).Value()
|
||||
@@ -39,6 +42,14 @@ func (handle *ArtifactH) UnmarshalJSON(data []byte) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// A HandleError is panicked when attempting to acquire an [Artifact] via an
|
||||
// invalid [ArtifactH] with the Must suite of methods.
|
||||
type HandleError ArtifactH
|
||||
|
||||
func (e HandleError) Error() string {
|
||||
return "artifact " + strconv.Quote(ArtifactH(e).String()) + " not available"
|
||||
}
|
||||
|
||||
type (
|
||||
// Stage denotes the infrastructure to compile a [pkg.Artifact] on.
|
||||
Stage uint32
|
||||
@@ -234,7 +245,7 @@ func (s *S) Get(handle ArtifactH) (meta *Artifact) {
|
||||
func (s *S) MustGet(handle ArtifactH) (meta *Artifact) {
|
||||
meta = s.Get(handle)
|
||||
if meta == nil {
|
||||
panic("artifact " + strconv.Quote(handle.String()) + " not available")
|
||||
panic(HandleError(handle))
|
||||
}
|
||||
return
|
||||
}
|
||||
@@ -270,7 +281,7 @@ func (t Toolchain) Load(handle ArtifactH) (pkg.Artifact, string) {
|
||||
func (t Toolchain) MustLoad(handle ArtifactH) (pkg.Artifact, string) {
|
||||
a, version := t.Load(handle)
|
||||
if a == nil {
|
||||
panic("artifact " + strconv.Quote(handle.String()) + " not available")
|
||||
panic(HandleError(handle))
|
||||
}
|
||||
return a, version
|
||||
}
|
||||
|
||||
@@ -1,197 +1,195 @@
|
||||
package rosa
|
||||
|
||||
import "unique"
|
||||
|
||||
var (
|
||||
LLVM = ArtifactH(unique.Make("llvm"))
|
||||
EarlyInit = ArtifactH(unique.Make("earlyinit"))
|
||||
ImageSystem = ArtifactH(unique.Make("system-image"))
|
||||
ImageInitramfs = ArtifactH(unique.Make("initramfs-image"))
|
||||
Kernel = ArtifactH(unique.Make("kernel"))
|
||||
KernelHeaders = ArtifactH(unique.Make("kernel-headers"))
|
||||
KernelSource = ArtifactH(unique.Make("kernel-source"))
|
||||
Firmware = ArtifactH(unique.Make("firmware"))
|
||||
ACL = ArtifactH(unique.Make("acl"))
|
||||
ArgpStandalone = ArtifactH(unique.Make("argp-standalone"))
|
||||
Attr = ArtifactH(unique.Make("attr"))
|
||||
Autoconf = ArtifactH(unique.Make("autoconf"))
|
||||
Automake = ArtifactH(unique.Make("automake"))
|
||||
BC = ArtifactH(unique.Make("bc"))
|
||||
Bash = ArtifactH(unique.Make("bash"))
|
||||
Binutils = ArtifactH(unique.Make("binutils"))
|
||||
Bison = ArtifactH(unique.Make("bison"))
|
||||
Bzip2 = ArtifactH(unique.Make("bzip2"))
|
||||
CMake = ArtifactH(unique.Make("cmake"))
|
||||
Connman = ArtifactH(unique.Make("connman"))
|
||||
Coreutils = ArtifactH(unique.Make("coreutils"))
|
||||
Curl = ArtifactH(unique.Make("curl"))
|
||||
DBus = ArtifactH(unique.Make("dbus"))
|
||||
DTC = ArtifactH(unique.Make("dtc"))
|
||||
Diffutils = ArtifactH(unique.Make("diffutils"))
|
||||
Elfutils = ArtifactH(unique.Make("elfutils"))
|
||||
Fakeroot = ArtifactH(unique.Make("fakeroot"))
|
||||
Findutils = ArtifactH(unique.Make("findutils"))
|
||||
Flex = ArtifactH(unique.Make("flex"))
|
||||
FontUtil = ArtifactH(unique.Make("font-util"))
|
||||
Freetype = ArtifactH(unique.Make("freetype"))
|
||||
Fuse = ArtifactH(unique.Make("fuse"))
|
||||
GMP = ArtifactH(unique.Make("gmp"))
|
||||
GLib = ArtifactH(unique.Make("glib"))
|
||||
Gawk = ArtifactH(unique.Make("gawk"))
|
||||
GenInitCPIO = ArtifactH(unique.Make("gen_init_cpio"))
|
||||
Gettext = ArtifactH(unique.Make("gettext"))
|
||||
Git = ArtifactH(unique.Make("git"))
|
||||
Glslang = ArtifactH(unique.Make("glslang"))
|
||||
GnuTLS = ArtifactH(unique.Make("gnutls"))
|
||||
Go = ArtifactH(unique.Make("go"))
|
||||
Gperf = ArtifactH(unique.Make("gperf"))
|
||||
Grep = ArtifactH(unique.Make("grep"))
|
||||
Gzip = ArtifactH(unique.Make("gzip"))
|
||||
Hakurei = ArtifactH(unique.Make("hakurei"))
|
||||
HakureiDist = ArtifactH(unique.Make("hakurei-dist"))
|
||||
Hwdata = ArtifactH(unique.Make("hwdata"))
|
||||
IPTables = ArtifactH(unique.Make("iptables"))
|
||||
Kmod = ArtifactH(unique.Make("kmod"))
|
||||
LIT = ArtifactH(unique.Make("lit"))
|
||||
LibX11 = ArtifactH(unique.Make("libX11"))
|
||||
LibXau = ArtifactH(unique.Make("libXau"))
|
||||
LibXdmcp = ArtifactH(unique.Make("libXdmcp"))
|
||||
LibXext = ArtifactH(unique.Make("libXext"))
|
||||
LibXfixes = ArtifactH(unique.Make("libXfixes"))
|
||||
LibXfont2 = ArtifactH(unique.Make("libXfont2"))
|
||||
LibXrandr = ArtifactH(unique.Make("libXrandr"))
|
||||
LibXrender = ArtifactH(unique.Make("libXrender"))
|
||||
LibXxf86vm = ArtifactH(unique.Make("libXxf86vm"))
|
||||
Libarchive = ArtifactH(unique.Make("libarchive"))
|
||||
Libbsd = ArtifactH(unique.Make("libbsd"))
|
||||
Libcap = ArtifactH(unique.Make("libcap"))
|
||||
Libconfig = ArtifactH(unique.Make("libconfig"))
|
||||
LibdisplayInfo = ArtifactH(unique.Make("libdisplay-info"))
|
||||
Libdrm = ArtifactH(unique.Make("libdrm"))
|
||||
Libepoxy = ArtifactH(unique.Make("libepoxy"))
|
||||
Libev = ArtifactH(unique.Make("libev"))
|
||||
Libexpat = ArtifactH(unique.Make("libexpat"))
|
||||
Libffi = ArtifactH(unique.Make("libffi"))
|
||||
Libfontenc = ArtifactH(unique.Make("libfontenc"))
|
||||
Libgd = ArtifactH(unique.Make("libgd"))
|
||||
Libglvnd = ArtifactH(unique.Make("libglvnd"))
|
||||
Libiconv = ArtifactH(unique.Make("libiconv"))
|
||||
Libmd = ArtifactH(unique.Make("libmd"))
|
||||
Libmnl = ArtifactH(unique.Make("libmnl"))
|
||||
Libnftnl = ArtifactH(unique.Make("libnftnl"))
|
||||
Libpciaccess = ArtifactH(unique.Make("libpciaccess"))
|
||||
Libpng = ArtifactH(unique.Make("libpng"))
|
||||
Libpsl = ArtifactH(unique.Make("libpsl"))
|
||||
Libseccomp = ArtifactH(unique.Make("libseccomp"))
|
||||
Libtasn1 = ArtifactH(unique.Make("libtasn1"))
|
||||
Libtirpc = ArtifactH(unique.Make("libtirpc"))
|
||||
Libtool = ArtifactH(unique.Make("libtool"))
|
||||
Libucontext = ArtifactH(unique.Make("libucontext"))
|
||||
Libunistring = ArtifactH(unique.Make("libunistring"))
|
||||
Libva = ArtifactH(unique.Make("libva"))
|
||||
LibxcbRenderUtil = ArtifactH(unique.Make("libxcb-render-util"))
|
||||
LibxcbUtil = ArtifactH(unique.Make("libxcb-util"))
|
||||
LibxcbUtilImage = ArtifactH(unique.Make("libxcb-util-image"))
|
||||
LibxcbUtilKeysyms = ArtifactH(unique.Make("libxcb-util-keysyms"))
|
||||
LibxcbUtilWM = ArtifactH(unique.Make("libxcb-util-wm"))
|
||||
Libxcvt = ArtifactH(unique.Make("libxcvt"))
|
||||
Libxkbfile = ArtifactH(unique.Make("libxkbfile"))
|
||||
Libxml2 = ArtifactH(unique.Make("libxml2"))
|
||||
Libxshmfence = ArtifactH(unique.Make("libxshmfence"))
|
||||
Libxslt = ArtifactH(unique.Make("libxslt"))
|
||||
Libxtrans = ArtifactH(unique.Make("libxtrans"))
|
||||
LMSensors = ArtifactH(unique.Make("lm_sensors"))
|
||||
M4 = ArtifactH(unique.Make("m4"))
|
||||
MPC = ArtifactH(unique.Make("mpc"))
|
||||
MPFR = ArtifactH(unique.Make("mpfr"))
|
||||
Make = ArtifactH(unique.Make("make"))
|
||||
Mesa = ArtifactH(unique.Make("mesa"))
|
||||
Meson = ArtifactH(unique.Make("meson"))
|
||||
Mksh = ArtifactH(unique.Make("mksh"))
|
||||
MuslFts = ArtifactH(unique.Make("musl-fts"))
|
||||
MuslObstack = ArtifactH(unique.Make("musl-obstack"))
|
||||
NSS = ArtifactH(unique.Make("nss"))
|
||||
NSSCACert = ArtifactH(unique.Make("nss-cacert"))
|
||||
Ncurses = ArtifactH(unique.Make("ncurses"))
|
||||
Nettle = ArtifactH(unique.Make("nettle"))
|
||||
Ninja = ArtifactH(unique.Make("ninja"))
|
||||
OpenSSL = ArtifactH(unique.Make("openssl"))
|
||||
P11Kit = ArtifactH(unique.Make("p11-kit"))
|
||||
PCRE2 = ArtifactH(unique.Make("pcre2"))
|
||||
Parallel = ArtifactH(unique.Make("parallel"))
|
||||
Patch = ArtifactH(unique.Make("patch"))
|
||||
Perl = ArtifactH(unique.Make("perl"))
|
||||
PerlLocaleGettext = ArtifactH(unique.Make("perl-Locale::gettext"))
|
||||
PerlMIMECharset = ArtifactH(unique.Make("perl-MIME::Charset"))
|
||||
PerlModuleBuild = ArtifactH(unique.Make("perl-Module::Build"))
|
||||
PerlPodParser = ArtifactH(unique.Make("perl-Pod::Parser"))
|
||||
PerlSGMLS = ArtifactH(unique.Make("perl-SGMLS"))
|
||||
PerlTermReadKey = ArtifactH(unique.Make("perl-Term::ReadKey"))
|
||||
PerlTestCmd = ArtifactH(unique.Make("perl-Test::Cmd"))
|
||||
PerlTextCharWidth = ArtifactH(unique.Make("perl-Text::CharWidth"))
|
||||
PerlTextWrapI18N = ArtifactH(unique.Make("perl-Text::WrapI18N"))
|
||||
PerlUnicodeLineBreak = ArtifactH(unique.Make("perl-Unicode::LineBreak"))
|
||||
PerlYAMLTiny = ArtifactH(unique.Make("perl-YAML::Tiny"))
|
||||
Pixman = ArtifactH(unique.Make("pixman"))
|
||||
PkgConfig = ArtifactH(unique.Make("pkg-config"))
|
||||
Procps = ArtifactH(unique.Make("procps"))
|
||||
Python = ArtifactH(unique.Make("python"))
|
||||
PythonFlitCore = ArtifactH(unique.Make("python-flit-core"))
|
||||
PythonHatchling = ArtifactH(unique.Make("python-hatchling"))
|
||||
PythonIniConfig = ArtifactH(unique.Make("python-iniconfig"))
|
||||
PythonMako = ArtifactH(unique.Make("python-mako"))
|
||||
PythonMarkupSafe = ArtifactH(unique.Make("python-markupsafe"))
|
||||
PythonPackaging = ArtifactH(unique.Make("python-packaging"))
|
||||
PythonPathspec = ArtifactH(unique.Make("python-pathspec"))
|
||||
PythonPluggy = ArtifactH(unique.Make("python-pluggy"))
|
||||
PythonPyTest = ArtifactH(unique.Make("python-pytest"))
|
||||
PythonPyYAML = ArtifactH(unique.Make("python-pyyaml"))
|
||||
PythonPycparser = ArtifactH(unique.Make("python-pycparser"))
|
||||
PythonPygments = ArtifactH(unique.Make("python-pygments"))
|
||||
PythonSetuptools = ArtifactH(unique.Make("python-setuptools"))
|
||||
PythonSetuptoolsSCM = ArtifactH(unique.Make("python-setuptools-scm"))
|
||||
PythonTroveClassifiers = ArtifactH(unique.Make("python-trove-classifiers"))
|
||||
PythonVCSVersioning = ArtifactH(unique.Make("python-vcs-versioning"))
|
||||
PythonWheel = ArtifactH(unique.Make("python-wheel"))
|
||||
QEMU = ArtifactH(unique.Make("qemu"))
|
||||
Rdfind = ArtifactH(unique.Make("rdfind"))
|
||||
Readline = ArtifactH(unique.Make("readline"))
|
||||
Rsync = ArtifactH(unique.Make("rsync"))
|
||||
Sed = ArtifactH(unique.Make("sed"))
|
||||
SPIRVHeaders = ArtifactH(unique.Make("spirv-headers"))
|
||||
SPIRVLLVMTranslator = ArtifactH(unique.Make("spirv-llvm-translator"))
|
||||
SPIRVTools = ArtifactH(unique.Make("spirv-tools"))
|
||||
SquashfsTools = ArtifactH(unique.Make("squashfs-tools"))
|
||||
Strace = ArtifactH(unique.Make("strace"))
|
||||
TamaGo = ArtifactH(unique.Make("tamago"))
|
||||
Tar = ArtifactH(unique.Make("tar"))
|
||||
Texinfo = ArtifactH(unique.Make("texinfo"))
|
||||
Toybox = ArtifactH(unique.Make("toybox"))
|
||||
toyboxEarly = ArtifactH(unique.Make("toybox-early"))
|
||||
Unzip = ArtifactH(unique.Make("unzip"))
|
||||
UtilLinux = ArtifactH(unique.Make("util-linux"))
|
||||
VIM = ArtifactH(unique.Make("vim"))
|
||||
Wayland = ArtifactH(unique.Make("wayland"))
|
||||
WaylandProtocols = ArtifactH(unique.Make("wayland-protocols"))
|
||||
XCB = ArtifactH(unique.Make("xcb"))
|
||||
XCBProto = ArtifactH(unique.Make("xcb-proto"))
|
||||
XDGDBusProxy = ArtifactH(unique.Make("xdg-dbus-proxy"))
|
||||
XZ = ArtifactH(unique.Make("xz"))
|
||||
Xkbcomp = ArtifactH(unique.Make("xkbcomp"))
|
||||
XkeyboardConfig = ArtifactH(unique.Make("xkeyboard-config"))
|
||||
XorgProto = ArtifactH(unique.Make("xorgproto"))
|
||||
Xserver = ArtifactH(unique.Make("xserver"))
|
||||
Zlib = ArtifactH(unique.Make("zlib"))
|
||||
Zstd = ArtifactH(unique.Make("zstd"))
|
||||
stage0Dist = ArtifactH(unique.Make("stage0-dist"))
|
||||
llvmSource = ArtifactH(unique.Make("llvm-project"))
|
||||
earlyCompilerRT = ArtifactH(unique.Make("early-compiler-rt"))
|
||||
earlyRuntimes = ArtifactH(unique.Make("early-runtimes"))
|
||||
buildcatrust = ArtifactH(unique.Make("python-buildcatrust"))
|
||||
utilMacros = ArtifactH(unique.Make("util-macros"))
|
||||
Musl = ArtifactH(unique.Make("musl"))
|
||||
muslHeaders = ArtifactH(unique.Make("musl-headers"))
|
||||
gcc = ArtifactH(unique.Make("gcc"))
|
||||
nettle3 = ArtifactH(unique.Make("nettle3"))
|
||||
Stage0 = ArtifactH(unique.Make("rosa-stage0"))
|
||||
LLVM = H("llvm")
|
||||
EarlyInit = H("earlyinit")
|
||||
ImageSystem = H("system-image")
|
||||
ImageInitramfs = H("initramfs-image")
|
||||
Kernel = H("kernel")
|
||||
KernelHeaders = H("kernel-headers")
|
||||
KernelSource = H("kernel-source")
|
||||
Firmware = H("firmware")
|
||||
ACL = H("acl")
|
||||
ArgpStandalone = H("argp-standalone")
|
||||
Attr = H("attr")
|
||||
Autoconf = H("autoconf")
|
||||
Automake = H("automake")
|
||||
BC = H("bc")
|
||||
Bash = H("bash")
|
||||
Binutils = H("binutils")
|
||||
Bison = H("bison")
|
||||
Bzip2 = H("bzip2")
|
||||
CMake = H("cmake")
|
||||
Connman = H("connman")
|
||||
Coreutils = H("coreutils")
|
||||
Curl = H("curl")
|
||||
DBus = H("dbus")
|
||||
DTC = H("dtc")
|
||||
Diffutils = H("diffutils")
|
||||
Elfutils = H("elfutils")
|
||||
Fakeroot = H("fakeroot")
|
||||
Findutils = H("findutils")
|
||||
Flex = H("flex")
|
||||
FontUtil = H("font-util")
|
||||
Freetype = H("freetype")
|
||||
Fuse = H("fuse")
|
||||
GMP = H("gmp")
|
||||
GLib = H("glib")
|
||||
Gawk = H("gawk")
|
||||
GenInitCPIO = H("gen_init_cpio")
|
||||
Gettext = H("gettext")
|
||||
Git = H("git")
|
||||
Glslang = H("glslang")
|
||||
GnuTLS = H("gnutls")
|
||||
Go = H("go")
|
||||
Gperf = H("gperf")
|
||||
Grep = H("grep")
|
||||
Gzip = H("gzip")
|
||||
Hakurei = H("hakurei")
|
||||
HakureiDist = H("hakurei-dist")
|
||||
Hwdata = H("hwdata")
|
||||
IPTables = H("iptables")
|
||||
Kmod = H("kmod")
|
||||
LIT = H("lit")
|
||||
LibX11 = H("libX11")
|
||||
LibXau = H("libXau")
|
||||
LibXdmcp = H("libXdmcp")
|
||||
LibXext = H("libXext")
|
||||
LibXfixes = H("libXfixes")
|
||||
LibXfont2 = H("libXfont2")
|
||||
LibXrandr = H("libXrandr")
|
||||
LibXrender = H("libXrender")
|
||||
LibXxf86vm = H("libXxf86vm")
|
||||
Libarchive = H("libarchive")
|
||||
Libbsd = H("libbsd")
|
||||
Libcap = H("libcap")
|
||||
Libconfig = H("libconfig")
|
||||
LibdisplayInfo = H("libdisplay-info")
|
||||
Libdrm = H("libdrm")
|
||||
Libepoxy = H("libepoxy")
|
||||
Libev = H("libev")
|
||||
Libexpat = H("libexpat")
|
||||
Libffi = H("libffi")
|
||||
Libfontenc = H("libfontenc")
|
||||
Libgd = H("libgd")
|
||||
Libglvnd = H("libglvnd")
|
||||
Libiconv = H("libiconv")
|
||||
Libmd = H("libmd")
|
||||
Libmnl = H("libmnl")
|
||||
Libnftnl = H("libnftnl")
|
||||
Libpciaccess = H("libpciaccess")
|
||||
Libpng = H("libpng")
|
||||
Libpsl = H("libpsl")
|
||||
Libseccomp = H("libseccomp")
|
||||
Libtasn1 = H("libtasn1")
|
||||
Libtirpc = H("libtirpc")
|
||||
Libtool = H("libtool")
|
||||
Libucontext = H("libucontext")
|
||||
Libunistring = H("libunistring")
|
||||
Libva = H("libva")
|
||||
LibxcbRenderUtil = H("libxcb-render-util")
|
||||
LibxcbUtil = H("libxcb-util")
|
||||
LibxcbUtilImage = H("libxcb-util-image")
|
||||
LibxcbUtilKeysyms = H("libxcb-util-keysyms")
|
||||
LibxcbUtilWM = H("libxcb-util-wm")
|
||||
Libxcvt = H("libxcvt")
|
||||
Libxkbfile = H("libxkbfile")
|
||||
Libxml2 = H("libxml2")
|
||||
Libxshmfence = H("libxshmfence")
|
||||
Libxslt = H("libxslt")
|
||||
Libxtrans = H("libxtrans")
|
||||
LMSensors = H("lm_sensors")
|
||||
M4 = H("m4")
|
||||
MPC = H("mpc")
|
||||
MPFR = H("mpfr")
|
||||
Make = H("make")
|
||||
Mesa = H("mesa")
|
||||
Meson = H("meson")
|
||||
Mksh = H("mksh")
|
||||
MuslFts = H("musl-fts")
|
||||
MuslObstack = H("musl-obstack")
|
||||
NSS = H("nss")
|
||||
NSSCACert = H("nss-cacert")
|
||||
Ncurses = H("ncurses")
|
||||
Nettle = H("nettle")
|
||||
Ninja = H("ninja")
|
||||
OpenSSL = H("openssl")
|
||||
P11Kit = H("p11-kit")
|
||||
PCRE2 = H("pcre2")
|
||||
Parallel = H("parallel")
|
||||
Patch = H("patch")
|
||||
Perl = H("perl")
|
||||
PerlLocaleGettext = H("perl-Locale::gettext")
|
||||
PerlMIMECharset = H("perl-MIME::Charset")
|
||||
PerlModuleBuild = H("perl-Module::Build")
|
||||
PerlPodParser = H("perl-Pod::Parser")
|
||||
PerlSGMLS = H("perl-SGMLS")
|
||||
PerlTermReadKey = H("perl-Term::ReadKey")
|
||||
PerlTestCmd = H("perl-Test::Cmd")
|
||||
PerlTextCharWidth = H("perl-Text::CharWidth")
|
||||
PerlTextWrapI18N = H("perl-Text::WrapI18N")
|
||||
PerlUnicodeLineBreak = H("perl-Unicode::LineBreak")
|
||||
PerlYAMLTiny = H("perl-YAML::Tiny")
|
||||
Pixman = H("pixman")
|
||||
PkgConfig = H("pkg-config")
|
||||
Procps = H("procps")
|
||||
Python = H("python")
|
||||
PythonFlitCore = H("python-flit-core")
|
||||
PythonHatchling = H("python-hatchling")
|
||||
PythonIniConfig = H("python-iniconfig")
|
||||
PythonMako = H("python-mako")
|
||||
PythonMarkupSafe = H("python-markupsafe")
|
||||
PythonPackaging = H("python-packaging")
|
||||
PythonPathspec = H("python-pathspec")
|
||||
PythonPluggy = H("python-pluggy")
|
||||
PythonPyTest = H("python-pytest")
|
||||
PythonPyYAML = H("python-pyyaml")
|
||||
PythonPycparser = H("python-pycparser")
|
||||
PythonPygments = H("python-pygments")
|
||||
PythonSetuptools = H("python-setuptools")
|
||||
PythonSetuptoolsSCM = H("python-setuptools-scm")
|
||||
PythonTroveClassifiers = H("python-trove-classifiers")
|
||||
PythonVCSVersioning = H("python-vcs-versioning")
|
||||
PythonWheel = H("python-wheel")
|
||||
QEMU = H("qemu")
|
||||
Rdfind = H("rdfind")
|
||||
Readline = H("readline")
|
||||
Rsync = H("rsync")
|
||||
Sed = H("sed")
|
||||
SPIRVHeaders = H("spirv-headers")
|
||||
SPIRVLLVMTranslator = H("spirv-llvm-translator")
|
||||
SPIRVTools = H("spirv-tools")
|
||||
SquashfsTools = H("squashfs-tools")
|
||||
Strace = H("strace")
|
||||
TamaGo = H("tamago")
|
||||
Tar = H("tar")
|
||||
Texinfo = H("texinfo")
|
||||
Toybox = H("toybox")
|
||||
toyboxEarly = H("toybox-early")
|
||||
Unzip = H("unzip")
|
||||
UtilLinux = H("util-linux")
|
||||
VIM = H("vim")
|
||||
Wayland = H("wayland")
|
||||
WaylandProtocols = H("wayland-protocols")
|
||||
XCB = H("xcb")
|
||||
XCBProto = H("xcb-proto")
|
||||
XDGDBusProxy = H("xdg-dbus-proxy")
|
||||
XZ = H("xz")
|
||||
Xkbcomp = H("xkbcomp")
|
||||
XkeyboardConfig = H("xkeyboard-config")
|
||||
XorgProto = H("xorgproto")
|
||||
Xserver = H("xserver")
|
||||
Zlib = H("zlib")
|
||||
Zstd = H("zstd")
|
||||
stage0Dist = H("stage0-dist")
|
||||
llvmSource = H("llvm-project")
|
||||
earlyCompilerRT = H("early-compiler-rt")
|
||||
earlyRuntimes = H("early-runtimes")
|
||||
buildcatrust = H("python-buildcatrust")
|
||||
utilMacros = H("util-macros")
|
||||
Musl = H("musl")
|
||||
muslHeaders = H("musl-headers")
|
||||
gcc = H("gcc")
|
||||
nettle3 = H("nettle3")
|
||||
Stage0 = H("rosa-stage0")
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user