internal/rosa/package: migrate python packages
All checks were successful
Test / Create distribution (push) Successful in 1m6s
Test / Sandbox (push) Successful in 2m46s
Test / ShareFS (push) Successful in 3m47s
Test / Hakurei (push) Successful in 3m52s
Test / Sandbox (race detector) (push) Successful in 5m20s
Test / Hakurei (race detector) (push) Successful in 6m29s
Test / Flake checks (push) Successful in 1m23s

This also migrates LLVM LIT via the newly implemented special case.

Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
2026-05-19 18:15:04 +09:00
parent 3010a209b5
commit ff44060763
5 changed files with 643 additions and 563 deletions

View File

@@ -0,0 +1,15 @@
package lit {
description = "a portable tool for executing LLVM and Clang style test suites";
website = "https://llvm.org/docs/CommandGuide/lit.html";
source = llvm-project;
exec = pip {
append = [ "llvm", "utils", "lit" ];
// already checked during llvm
skipCheck = true;
};
inputs = [ python-setuptools ];
runtime = [ python ];
}

View File

@@ -68,3 +68,440 @@ package python {
openssl, openssl,
]; ];
} }
package python-setuptools {
description = "the autotools of the Python ecosystem";
website = "https://pypi.org/project/setuptools";
anitya = 4021;
version* = "82.0.1";
source = remoteGitHub {
suffix = "pypa/setuptools";
tag = "v"+version;
checksum = "nznP46Tj539yqswtOrIM4nQgwLA1h-ApKX7z7ghazROCpyF5swtQGwsZoI93wkhc";
};
exec = pip {
// error: invalid command 'dist_info'
buildIsolation = true;
// pytest circular dependency
skipCheck = true;
};
runtime = [ python ];
}
package python-wheel {
description = "the official binary distribution format for Python";
website = "https://peps.python.org/pep-0427";
anitya = 11428;
version* = "0.47.0";
source = remoteGitHub {
suffix = "pypa/wheel";
tag = version;
checksum = "HZ-MvkUP8mbbx2YmsRNswj_bbOCIiXckuHqL5Qbvb5NxN5DYfWnqwkGNyS7OrId0";
};
exec = pip {
install = true;
};
inputs = [
python-flit-core,
python-setuptools,
];
runtime = [ python ];
}
package python-vcs-versioning {
description = "core VCS versioning functionality extracted as a standalone library";
website = "https://setuptools-scm.readthedocs.io/en/latest";
anitya = 389421;
version* = "1.1.1";
source = remoteGitHub {
suffix = "pypa/setuptools-scm";
tag = "vcs-versioning-v"+version;
checksum = "rXZixTsZcRcIoUC1LvWrjySsiXSv5uhW6ng2P-yXZrbdj7FrSrDeJLCfC2b-ladV";
};
env = [
"SETUPTOOLS_SCM_PRETEND_VERSION=" + version,
];
exec = pip {
// upstream is monorepo of two packages (setuptools-scm)
append = [ "vcs-versioning" ];
// pytest circular dependency
skipCheck = true;
};
inputs = [
python-setuptools,
python-packaging,
];
runtime = [
python-setuptools,
python-packaging,
];
}
package python-setuptools-scm {
description = "extracts Python package versions from Git or Mercurial metadata";
website = "https://setuptools-scm.readthedocs.io/en/latest";
anitya = 7874;
version* = "10.0.5";
source = remoteGitHub {
suffix = "pypa/setuptools-scm";
tag = "setuptools-scm-v"+version;
checksum = "vTN_TPd-b4Wbsw5WmAcsWjrs-FNXXznOeVTDnb54NtXve9Oy-eb2HPy-RG3FzNqp";
};
env = [
"SETUPTOOLS_SCM_PRETEND_VERSION=" + version,
];
exec = pip {
// upstream is monorepo of two packages
append = [ "setuptools-scm" ];
// pytest circular dependency
skipCheck = true;
};
inputs = [
python-setuptools,
python-vcs-versioning,
];
runtime = [
python-setuptools,
python-vcs-versioning,
];
}
package python-flit-core {
description = "a PEP 517 build backend for packages using Flit";
website = "https://flit.pypa.io";
anitya = 44841;
version* = "3.12.0";
source = remoteGitHub {
suffix = "pypa/flit";
tag = version;
checksum = "VcTsiGiDU1aPLbjSPe38f9OjJDCLcxFz9loObJqUI1ZxDHXAaQMxBpNyLz_G1Rff";
};
exec = pip {
// upstream has other unused packages with many dependencies
append = [ "flit_core" ];
// pytest circular dependency
skipCheck = true;
};
runtime = [ python ];
}
package python-packaging {
description = "reusable core utilities for various Python Packaging interoperability specifications";
website = "https://packaging.pypa.io";
anitya = 60461;
version* = "26.2";
source = remoteGitHub {
suffix = "pypa/packaging";
tag = version;
checksum = "rdpGa2EkPFbj1mFtLKLnSwIX9gPfELcuneiICjRVDNw6By49szTFVoW8gtMMZ6ZS";
};
exec = pip {
// pytest circular dependency
skipCheck = true;
};
inputs = [ python-flit-core ];
runtime = [ python ];
}
package python-pathspec {
description = "utility library for gitignore style pattern matching of file paths";
website = "https://github.com/cpburnz/python-pathspec";
anitya = 23424;
version* = "1.1.1";
source = remoteGitHub {
suffix = "cpburnz/python-pathspec";
tag = "v"+version;
checksum = "1fVwoal6FoKXczoG3qRUi87TxSWESSGcgvnbEZDYuaOgsO25o36iF3SbAhwkr4Va";
};
exec = pip {
// pytest circular dependency
skipCheck = true;
};
inputs = [ python-flit-core ];
runtime = [ python ];
}
package python-trove-classifiers {
description = "canonical source for classifiers on PyPI";
website = "https://pypi.org/p/trove-classifiers";
anitya = 88298;
version* = "2026.5.7.17";
source = remoteGitHub {
suffix = "pypa/trove-classifiers";
tag = version;
checksum = "1Fcps0gK9P4ofwGL8MISN9k1Q40-quxX7NDpIna50TmziBNrZy-0Vz0I9yIeHCoP";
};
exec = pip {
// pytest circular dependency
skipCheck = true;
};
inputs = [ python-setuptools ];
runtime = [ python ];
}
package python-pluggy {
description = "the core framework used by the pytest, tox, and devpi projects";
website = "https://pluggy.readthedocs.io/en/latest";
anitya = 7500;
version* = "1.6.0";
source = remoteGitHub {
suffix = "pytest-dev/pluggy";
tag = version;
checksum = "GiUgDkKjF8Xn1cmq6iMhTGXzcPIYeaJrvQpHBSAJapNVx4UyuiTXqd5eVlxSClJu";
};
env = [
"SETUPTOOLS_SCM_PRETEND_VERSION_FOR_PLUGGY=" + version,
];
exec = pip {
// pytest circular dependency
skipCheck = true;
};
inputs = [ python-setuptools-scm ];
runtime = [ python ];
}
package python-hatchling {
description = "the extensible, standards compliant build backend used by Hatch";
website = "https://hatch.pypa.io";
anitya = 16137;
version* = "1.16.5";
source = remoteGitHub {
suffix = "pypa/hatch";
tag = "hatch-v"+version;
checksum = "V2eREtqZLZeV85yb4O-bfAJCUluHcQP76Qfs0QH5s7RF_Oc8xIP8jD0jl85qFyWk";
};
exec = pip {
// upstream has other unused packages with many dependencies
append = [ "backend" ];
// pytest circular dependency
skipCheck = true;
};
inputs = [
python-packaging,
python-pathspec,
python-trove-classifiers,
python-pluggy,
];
runtime = [
python-packaging,
python-pathspec,
python-trove-classifiers,
python-pluggy,
];
}
package python-pygments {
description = "a syntax highlighting package written in Python";
website = "https://pygments.org";
anitya = 3986;
version* = "2.20.0";
source = remoteGitHub {
suffix = "pygments/pygments";
tag = version;
checksum = "L-2P6vn7c_CNZYliE5CJAWLxO1ziDQVVkf8bnZbHj8aSCQ43oWv11wC9KzU9MeCa";
};
exec = pip {
// pytest circular dependency
skipCheck = true;
};
inputs = [ python-hatchling ];
runtime = [ python ];
}
package python-iniconfig {
description = "a small and simple INI-file parser module";
website = "https://github.com/pytest-dev/iniconfig";
anitya = 114778;
version* = "2.3.0";
source = remoteGitHub {
suffix = "pytest-dev/iniconfig";
tag = "v"+version;
checksum = "mH7VBZaXcYatBPE3RQQZvSzz_Ay8IPPek60NpPHZulPq4ReAFUUsA4EPWfiyMknZ";
};
env = [
"SETUPTOOLS_SCM_PRETEND_VERSION_FOR_INICONFIG=" + version,
];
exec = pip {
// pytest circular dependency
skipCheck = true;
};
inputs = [ python-setuptools-scm ];
runtime = [ python ];
}
package python-pytest {
description = "the pytest framework";
website = "https://pytest.org";
anitya = 3765;
version* = "9.0.3";
source = remoteGitHub {
suffix = "pytest-dev/pytest";
tag = version;
checksum = "qfLL_znWhbJCDbNJvrx9H3-orJ86z4ifhaW0bIn21jl2sDP-FVoX_1yieOypArQe";
};
env = [
"SETUPTOOLS_SCM_PRETEND_VERSION_FOR_PYTEST=" + version,
];
exec = pip {
// many dependencies
skipCheck = true;
};
inputs = [
python-iniconfig,
python-packaging,
python-pluggy,
python-pygments,
python-setuptools-scm,
];
runtime = [
python-iniconfig,
python-packaging,
python-pluggy,
python-pygments,
];
}
package python-markupsafe {
description = "implements a text object that escapes characters so it is safe to use in HTML and XML";
website = "https://markupsafe.palletsprojects.com";
anitya = 3918;
version* = "3.0.3";
source = remoteGitHub {
suffix = "pallets/markupsafe";
tag = version;
checksum = "txRGYdWE3his1lHHRI-lZADw0-ILvUg2l5OGdFHtFXIb_QowGxwdxHCUSJIgmjQs";
};
exec = pip {
// ModuleNotFoundError: No module named 'markupsafe'
install = true;
};
inputs = [ python-setuptools ];
runtime = [ python ];
}
package python-mako {
description = "a template library written in Python";
website = "https://www.makotemplates.org";
anitya = 3915;
version* = "1.3.12";
source = remoteGitHub {
suffix = "sqlalchemy/mako";
tag = "rel_"+join {
elems = split {
s = version;
sep = ".";
n = 3;
};
sep = "_";
};
checksum = "OZbBsQe2MzRuAo5Mr4qRwWHGqU1EEZeBuSprDDIceAtMLIUJtO7SbERlxHIxNhLk";
};
exec = pip {};
inputs = [
python-markupsafe,
python-setuptools,
];
runtime = [ python-markupsafe ];
}
package python-pyyaml {
description = "a YAML parser and emitter for Python";
website = "https://pyyaml.org";
anitya = 4123;
version* = "6.0.3";
source = remoteGitHub {
suffix = "yaml/pyyaml";
tag = version;
checksum = "7wDv0RW9chBdu9l5Q4Hun5F2HHdo105ZSIixwdFPKbEYbftW9YxmsegfL-zafnbJ";
};
exec = pip {
// ModuleNotFoundError: No module named 'yaml'
install = true;
};
inputs = [ python-setuptools ];
runtime = [ python ];
}
package python-pycparser {
description = "complete C99 parser in pure Python";
website = "https://github.com/eliben/pycparser";
anitya = 8175;
version* = "3.00";
source = remoteGitHub {
suffix = "eliben/pycparser";
tag = "release_v"+version;
checksum = "4qfCMFKp0fLsRsloOAF780tXX_Ce_68RwinCmjNGObAX32WpF_iBafIKW1S1bYlA";
};
// test case hard codes gcc
early = `
ln -s clang /system/bin/gcc
`;
exec = pip {};
inputs = [ python-setuptools ];
runtime = [ python ];
}

View File

@@ -2,7 +2,6 @@ package rosa
import ( import (
"slices" "slices"
"strings"
"hakurei.app/internal/pkg" "hakurei.app/internal/pkg"
) )
@@ -120,388 +119,3 @@ func (s *S) newPythonPackage(
)...) )...)
}) })
} }
func init() {
const (
version = "0.47.0"
checksum = "HZ-MvkUP8mbbx2YmsRNswj_bbOCIiXckuHqL5Qbvb5NxN5DYfWnqwkGNyS7OrId0"
)
native.newPythonPackage(
"wheel", 11428,
"the official binary distribution format for Python",
"https://peps.python.org/pep-0427/",
version, newFromGitHub(
"pypa/wheel",
version, checksum,
), nil, &PipHelper{
Install: true,
}, P{PythonFlitCore, PythonSetuptools},
)
}
func init() {
const (
version = "82.0.1"
checksum = "nznP46Tj539yqswtOrIM4nQgwLA1h-ApKX7z7ghazROCpyF5swtQGwsZoI93wkhc"
)
native.newPythonPackage(
"setuptools", 4021,
"the autotools of the Python ecosystem",
"https://pypi.org/project/setuptools/",
version, newFromGitHub(
"pypa/setuptools",
"v"+version, checksum,
), nil, &PipHelper{
// error: invalid command 'dist_info'
BuildIsolation: true,
// pytest circular dependency
SkipCheck: true,
}, nil)
}
func init() {
const (
version = "1.1.1"
checksum = "rXZixTsZcRcIoUC1LvWrjySsiXSv5uhW6ng2P-yXZrbdj7FrSrDeJLCfC2b-ladV"
)
native.newPythonPackage(
"vcs-versioning", 389421,
"core VCS versioning functionality extracted as a standalone library",
"https://setuptools-scm.readthedocs.io/en/latest/",
version, newFromGitHub(
"pypa/setuptools-scm",
"vcs-versioning-v"+version, checksum,
), &PackageAttr{
Env: []string{
"SETUPTOOLS_SCM_PRETEND_VERSION=" + version,
},
}, &PipHelper{
// upstream is monorepo of two packages (setuptools-scm)
Append: []string{"vcs-versioning"},
// pytest circular dependency
SkipCheck: true,
}, nil,
PythonSetuptools,
PythonPackaging,
)
}
func init() {
const (
version = "10.0.5"
checksum = "vTN_TPd-b4Wbsw5WmAcsWjrs-FNXXznOeVTDnb54NtXve9Oy-eb2HPy-RG3FzNqp"
)
native.newPythonPackage(
"setuptools-scm", 7874,
"extracts Python package versions from Git or Mercurial metadata",
"https://setuptools-scm.readthedocs.io/en/latest/",
version, newFromGitHub(
"pypa/setuptools-scm",
"setuptools-scm-v"+version, checksum,
), &PackageAttr{
Env: []string{
"SETUPTOOLS_SCM_PRETEND_VERSION=" + version,
},
}, &PipHelper{
// upstream is monorepo of two packages
Append: []string{"setuptools-scm"},
// pytest circular dependency
SkipCheck: true,
}, nil,
PythonSetuptools,
PythonVCSVersioning,
)
}
func init() {
const (
version = "3.12.0"
checksum = "VcTsiGiDU1aPLbjSPe38f9OjJDCLcxFz9loObJqUI1ZxDHXAaQMxBpNyLz_G1Rff"
)
native.newPythonPackage(
"flit-core", 44841,
"a PEP 517 build backend for packages using Flit",
"https://flit.pypa.io/",
version, newFromGitHub(
"pypa/flit",
version, checksum,
), nil, &PipHelper{
// upstream has other unused packages with many dependencies
Append: []string{"flit_core"},
// pytest circular dependency
SkipCheck: true,
}, nil,
)
}
func init() {
const (
version = "26.2"
checksum = "rdpGa2EkPFbj1mFtLKLnSwIX9gPfELcuneiICjRVDNw6By49szTFVoW8gtMMZ6ZS"
)
native.newPythonPackage(
"packaging", 60461,
"reusable core utilities for various Python Packaging interoperability specifications",
"https://packaging.pypa.io/",
version, newFromGitHub(
"pypa/packaging",
version, checksum,
), nil, &PipHelper{
// pytest circular dependency
SkipCheck: true,
}, P{PythonFlitCore},
)
}
func init() {
native.mustRegister(func(t Toolchain) (pkg.Artifact, string) {
meta, source := t.Load(llvmSource)
return t.NewPackage("lit", meta.Version, source, nil, &PipHelper{
Append: []string{"llvm", "utils", "lit"},
// already checked during llvm
SkipCheck: true,
},
PythonSetuptools,
), meta.Version
}, &Metadata{
Name: "lit",
Description: "a portable tool for executing LLVM and Clang style test suites",
Website: "https://llvm.org/docs/CommandGuide/lit.html",
Dependencies: P{
Python,
},
})
}
func init() {
const (
version = "1.1.1"
checksum = "1fVwoal6FoKXczoG3qRUi87TxSWESSGcgvnbEZDYuaOgsO25o36iF3SbAhwkr4Va"
)
native.newPythonPackage(
"pathspec", 23424,
"utility library for gitignore style pattern matching of file paths",
"https://github.com/cpburnz/python-pathspec",
version, newFromGitHub(
"cpburnz/python-pathspec",
"v"+version, checksum,
), nil, &PipHelper{
// pytest circular dependency
SkipCheck: true,
}, P{PythonFlitCore},
)
}
func init() {
const (
version = "2026.5.7.17"
checksum = "1Fcps0gK9P4ofwGL8MISN9k1Q40-quxX7NDpIna50TmziBNrZy-0Vz0I9yIeHCoP"
)
native.newPythonPackage(
"trove-classifiers", 88298,
"canonical source for classifiers on PyPI",
"https://pypi.org/p/trove-classifiers/",
version, newFromGitHub(
"pypa/trove-classifiers",
version, checksum,
), nil, &PipHelper{
// pytest circular dependency
SkipCheck: true,
}, P{PythonSetuptools},
)
}
func init() {
const (
version = "1.6.0"
checksum = "GiUgDkKjF8Xn1cmq6iMhTGXzcPIYeaJrvQpHBSAJapNVx4UyuiTXqd5eVlxSClJu"
)
native.newPythonPackage(
"pluggy", 7500,
"the core framework used by the pytest, tox, and devpi projects",
"https://pluggy.readthedocs.io/en/latest/",
version, newFromGitHub(
"pytest-dev/pluggy",
version, checksum,
), &PackageAttr{
Env: []string{
"SETUPTOOLS_SCM_PRETEND_VERSION_FOR_PLUGGY=" + version,
},
}, &PipHelper{
// pytest circular dependency
SkipCheck: true,
}, P{PythonSetuptoolsSCM},
)
}
func init() {
const (
version = "1.16.5"
checksum = "V2eREtqZLZeV85yb4O-bfAJCUluHcQP76Qfs0QH5s7RF_Oc8xIP8jD0jl85qFyWk"
)
native.newPythonPackage(
"hatchling", 16137,
"the extensible, standards compliant build backend used by Hatch",
"https://hatch.pypa.io/latest/",
version, newFromGitHub(
"pypa/hatch",
"hatch-v"+version, checksum,
), nil, &PipHelper{
// upstream has other unused packages with many dependencies
Append: []string{"backend"},
// pytest circular dependency
SkipCheck: true,
}, nil,
PythonPackaging,
PythonPathspec,
PythonTroveClassifiers,
PythonPluggy,
)
}
func init() {
const (
version = "2.20.0"
checksum = "L-2P6vn7c_CNZYliE5CJAWLxO1ziDQVVkf8bnZbHj8aSCQ43oWv11wC9KzU9MeCa"
)
native.newPythonPackage(
"pygments", 3986,
"a syntax highlighting package written in Python",
"https://pygments.org/",
version, newFromGitHub(
"pygments/pygments",
version, checksum,
), nil, &PipHelper{
// pytest circular dependency
SkipCheck: true,
}, P{PythonHatchling},
)
}
func init() {
const (
version = "2.3.0"
checksum = "mH7VBZaXcYatBPE3RQQZvSzz_Ay8IPPek60NpPHZulPq4ReAFUUsA4EPWfiyMknZ"
)
native.newPythonPackage(
"iniconfig", 114778,
"a small and simple INI-file parser module",
"https://github.com/pytest-dev/iniconfig",
version, newFromGitHub(
"pytest-dev/iniconfig",
"v"+version, checksum,
), &PackageAttr{
Env: []string{
"SETUPTOOLS_SCM_PRETEND_VERSION_FOR_INICONFIG=" + version,
},
}, &PipHelper{
// pytest circular dependency
SkipCheck: true,
}, P{PythonSetuptoolsSCM},
)
}
func init() {
const (
version = "9.0.3"
checksum = "qfLL_znWhbJCDbNJvrx9H3-orJ86z4ifhaW0bIn21jl2sDP-FVoX_1yieOypArQe"
)
native.newPythonPackage(
"pytest", 3765,
"the pytest framework",
"https://pytest.org",
version, newFromGitHub(
"pytest-dev/pytest",
version, checksum,
), &PackageAttr{
Env: []string{
"SETUPTOOLS_SCM_PRETEND_VERSION_FOR_PYTEST=" + version,
},
}, &PipHelper{
// many dependencies
SkipCheck: true,
}, P{PythonSetuptoolsSCM},
PythonIniConfig,
PythonPackaging,
PythonPluggy,
PythonPygments,
)
}
func init() {
const (
version = "3.0.3"
checksum = "txRGYdWE3his1lHHRI-lZADw0-ILvUg2l5OGdFHtFXIb_QowGxwdxHCUSJIgmjQs"
)
native.newPythonPackage(
"markupsafe", 3918,
"implements a text object that escapes characters so it is safe to use in HTML and XML",
"https://markupsafe.palletsprojects.com/",
version, newFromGitHub(
"pallets/markupsafe",
version, checksum,
), nil, &PipHelper{
// ModuleNotFoundError: No module named 'markupsafe'
Install: true,
}, P{PythonSetuptools},
)
}
func init() {
const (
version = "1.3.12"
checksum = "OZbBsQe2MzRuAo5Mr4qRwWHGqU1EEZeBuSprDDIceAtMLIUJtO7SbERlxHIxNhLk"
)
native.newPythonPackage(
"mako", 3915,
"a template library written in Python",
"https://www.makotemplates.org/",
version, newFromGitHub(
"sqlalchemy/mako",
"rel_"+strings.Join(strings.SplitN(version, ".", 3), "_"),
checksum,
), nil, nil, P{PythonSetuptools},
PythonMarkupSafe,
)
}
func init() {
const (
version = "6.0.3"
checksum = "7wDv0RW9chBdu9l5Q4Hun5F2HHdo105ZSIixwdFPKbEYbftW9YxmsegfL-zafnbJ"
)
native.newPythonPackage(
"pyyaml", 4123,
"a YAML parser and emitter for Python",
"https://pyyaml.org/",
version, newFromGitHub(
"yaml/pyyaml",
version, checksum,
), nil, &PipHelper{
// ModuleNotFoundError: No module named 'yaml'
Install: true,
}, P{PythonSetuptools},
)
}
func init() {
const (
version = "3.00"
checksum = "4qfCMFKp0fLsRsloOAF780tXX_Ce_68RwinCmjNGObAX32WpF_iBafIKW1S1bYlA"
)
native.newPythonPackage(
"pycparser", 8175,
"complete C99 parser in pure Python",
"https://github.com/eliben/pycparser",
version, newFromGitHub(
"eliben/pycparser",
"release_v"+version, checksum,
), &PackageAttr{
// test case hard codes gcc
ScriptEarly: `
ln -s clang /system/bin/gcc
`,
}, nil, P{PythonSetuptools},
)
}

View File

@@ -451,6 +451,30 @@ func (s *S) getFrame() azalea.Frame {
return return
}}, }},
k("split"): {F: func(
args azalea.FArgs,
) (v any, set bool, err error) {
var p, sep string
var n int64
if err = args.Apply(map[unique.Handle[azalea.Ident]]any{
k("s"): &p,
k("sep"): &sep,
k("n"): &n,
}); err != nil {
return
}
if n < 0 {
n = 0
} else if n == 0 {
n = -1
}
v = strings.SplitN(p, sep, int(n))
set = true
return
}},
// intenral/pkg built-ins // intenral/pkg built-ins
k("remoteTar"): {F: func( k("remoteTar"): {F: func(

View File

@@ -1,181 +1,171 @@
package rosa package rosa
var ( var (
LLVM = H("llvm") LLVM = H("llvm")
EarlyInit = H("earlyinit") EarlyInit = H("earlyinit")
ImageSystem = H("system-image") ImageSystem = H("system-image")
ImageInitramfs = H("initramfs-image") ImageInitramfs = H("initramfs-image")
Kernel = H("kernel") Kernel = H("kernel")
KernelHeaders = H("kernel-headers") KernelHeaders = H("kernel-headers")
KernelSource = H("kernel-source") KernelSource = H("kernel-source")
Firmware = H("firmware") Firmware = H("firmware")
ACL = H("acl") ACL = H("acl")
ArgpStandalone = H("argp-standalone") ArgpStandalone = H("argp-standalone")
Attr = H("attr") Attr = H("attr")
Autoconf = H("autoconf") Autoconf = H("autoconf")
Automake = H("automake") Automake = H("automake")
BC = H("bc") BC = H("bc")
Bash = H("bash") Bash = H("bash")
Binutils = H("binutils") Binutils = H("binutils")
Bison = H("bison") Bison = H("bison")
Bzip2 = H("bzip2") Bzip2 = H("bzip2")
CMake = H("cmake") CMake = H("cmake")
Connman = H("connman") Connman = H("connman")
Coreutils = H("coreutils") Coreutils = H("coreutils")
Curl = H("curl") Curl = H("curl")
DBus = H("dbus") DBus = H("dbus")
DTC = H("dtc") DTC = H("dtc")
Diffutils = H("diffutils") Diffutils = H("diffutils")
Elfutils = H("elfutils") Elfutils = H("elfutils")
Fakeroot = H("fakeroot") Fakeroot = H("fakeroot")
Findutils = H("findutils") Findutils = H("findutils")
Flex = H("flex") Flex = H("flex")
FontUtil = H("font-util") FontUtil = H("font-util")
Freetype = H("freetype") Freetype = H("freetype")
Fuse = H("fuse") Fuse = H("fuse")
GMP = H("gmp") GMP = H("gmp")
GLib = H("glib") GLib = H("glib")
Gawk = H("gawk") Gawk = H("gawk")
GenInitCPIO = H("gen_init_cpio") GenInitCPIO = H("gen_init_cpio")
Gettext = H("gettext") Gettext = H("gettext")
Git = H("git") Git = H("git")
Glslang = H("glslang") Glslang = H("glslang")
GnuTLS = H("gnutls") GnuTLS = H("gnutls")
Go = H("go") Go = H("go")
Gperf = H("gperf") Gperf = H("gperf")
Grep = H("grep") Grep = H("grep")
Gzip = H("gzip") Gzip = H("gzip")
Hakurei = H("hakurei") Hakurei = H("hakurei")
HakureiDist = H("hakurei-dist") HakureiDist = H("hakurei-dist")
Hwdata = H("hwdata") Hwdata = H("hwdata")
IPTables = H("iptables") IPTables = H("iptables")
Kmod = H("kmod") Kmod = H("kmod")
LIT = H("lit") LIT = H("lit")
LibX11 = H("libX11") LibX11 = H("libX11")
LibXau = H("libXau") LibXau = H("libXau")
LibXdmcp = H("libXdmcp") LibXdmcp = H("libXdmcp")
LibXext = H("libXext") LibXext = H("libXext")
LibXfixes = H("libXfixes") LibXfixes = H("libXfixes")
LibXfont2 = H("libXfont2") LibXfont2 = H("libXfont2")
LibXrandr = H("libXrandr") LibXrandr = H("libXrandr")
LibXrender = H("libXrender") LibXrender = H("libXrender")
LibXxf86vm = H("libXxf86vm") LibXxf86vm = H("libXxf86vm")
Libarchive = H("libarchive") Libarchive = H("libarchive")
Libbsd = H("libbsd") Libbsd = H("libbsd")
Libcap = H("libcap") Libcap = H("libcap")
Libconfig = H("libconfig") Libconfig = H("libconfig")
LibdisplayInfo = H("libdisplay-info") LibdisplayInfo = H("libdisplay-info")
Libdrm = H("libdrm") Libdrm = H("libdrm")
Libepoxy = H("libepoxy") Libepoxy = H("libepoxy")
Libev = H("libev") Libev = H("libev")
Libexpat = H("libexpat") Libexpat = H("libexpat")
Libffi = H("libffi") Libffi = H("libffi")
Libfontenc = H("libfontenc") Libfontenc = H("libfontenc")
Libgd = H("libgd") Libgd = H("libgd")
Libglvnd = H("libglvnd") Libglvnd = H("libglvnd")
Libiconv = H("libiconv") Libiconv = H("libiconv")
Libmd = H("libmd") Libmd = H("libmd")
Libmnl = H("libmnl") Libmnl = H("libmnl")
Libnftnl = H("libnftnl") Libnftnl = H("libnftnl")
Libpciaccess = H("libpciaccess") Libpciaccess = H("libpciaccess")
Libpng = H("libpng") Libpng = H("libpng")
Libpsl = H("libpsl") Libpsl = H("libpsl")
Libseccomp = H("libseccomp") Libseccomp = H("libseccomp")
Libtasn1 = H("libtasn1") Libtasn1 = H("libtasn1")
Libtirpc = H("libtirpc") Libtirpc = H("libtirpc")
Libtool = H("libtool") Libtool = H("libtool")
Libucontext = H("libucontext") Libucontext = H("libucontext")
Libunistring = H("libunistring") Libunistring = H("libunistring")
Libva = H("libva") Libva = H("libva")
LibxcbRenderUtil = H("libxcb-render-util") LibxcbRenderUtil = H("libxcb-render-util")
LibxcbUtil = H("libxcb-util") LibxcbUtil = H("libxcb-util")
LibxcbUtilImage = H("libxcb-util-image") LibxcbUtilImage = H("libxcb-util-image")
LibxcbUtilKeysyms = H("libxcb-util-keysyms") LibxcbUtilKeysyms = H("libxcb-util-keysyms")
LibxcbUtilWM = H("libxcb-util-wm") LibxcbUtilWM = H("libxcb-util-wm")
Libxcvt = H("libxcvt") Libxcvt = H("libxcvt")
Libxkbfile = H("libxkbfile") Libxkbfile = H("libxkbfile")
Libxml2 = H("libxml2") Libxml2 = H("libxml2")
Libxshmfence = H("libxshmfence") Libxshmfence = H("libxshmfence")
Libxslt = H("libxslt") Libxslt = H("libxslt")
Libxtrans = H("libxtrans") Libxtrans = H("libxtrans")
LMSensors = H("lm_sensors") LMSensors = H("lm_sensors")
M4 = H("m4") M4 = H("m4")
MPC = H("mpc") MPC = H("mpc")
MPFR = H("mpfr") MPFR = H("mpfr")
Make = H("make") Make = H("make")
Mesa = H("mesa") Mesa = H("mesa")
Meson = H("meson") Meson = H("meson")
Mksh = H("mksh") Mksh = H("mksh")
MuslFts = H("musl-fts") MuslFts = H("musl-fts")
MuslObstack = H("musl-obstack") MuslObstack = H("musl-obstack")
NSS = H("nss") NSS = H("nss")
NSSCACert = H("nss-cacert") NSSCACert = H("nss-cacert")
Ncurses = H("ncurses") Ncurses = H("ncurses")
Nettle = H("nettle") Nettle = H("nettle")
Ninja = H("ninja") Ninja = H("ninja")
OpenSSL = H("openssl") OpenSSL = H("openssl")
P11Kit = H("p11-kit") P11Kit = H("p11-kit")
PCRE2 = H("pcre2") PCRE2 = H("pcre2")
Parallel = H("parallel") Parallel = H("parallel")
Patch = H("patch") Patch = H("patch")
PerlTestCmd = H("perl-Test-Cmd") PerlTestCmd = H("perl-Test-Cmd")
Pixman = H("pixman") Pixman = H("pixman")
PkgConfig = H("pkg-config") PkgConfig = H("pkg-config")
Procps = H("procps") Procps = H("procps")
PythonFlitCore = H("python-flit-core") PythonMako = H("python-mako")
PythonHatchling = H("python-hatchling") PythonPackaging = H("python-packaging")
PythonIniConfig = H("python-iniconfig") PythonPyTest = H("python-pytest")
PythonMako = H("python-mako") PythonPyYAML = H("python-pyyaml")
PythonMarkupSafe = H("python-markupsafe") PythonPycparser = H("python-pycparser")
PythonPackaging = H("python-packaging") PythonSetuptools = H("python-setuptools")
PythonPathspec = H("python-pathspec") PythonWheel = H("python-wheel")
PythonPluggy = H("python-pluggy") QEMU = H("qemu")
PythonPyTest = H("python-pytest") Rdfind = H("rdfind")
PythonPyYAML = H("python-pyyaml") Readline = H("readline")
PythonPycparser = H("python-pycparser") Rsync = H("rsync")
PythonPygments = H("python-pygments") Sed = H("sed")
PythonSetuptools = H("python-setuptools") SPIRVHeaders = H("spirv-headers")
PythonSetuptoolsSCM = H("python-setuptools-scm") SPIRVLLVMTranslator = H("spirv-llvm-translator")
PythonTroveClassifiers = H("python-trove-classifiers") SPIRVTools = H("spirv-tools")
PythonVCSVersioning = H("python-vcs-versioning") SquashfsTools = H("squashfs-tools")
PythonWheel = H("python-wheel") Strace = H("strace")
QEMU = H("qemu") TamaGo = H("tamago")
Rdfind = H("rdfind") Tar = H("tar")
Readline = H("readline") Texinfo = H("texinfo")
Rsync = H("rsync") Toybox = H("toybox")
Sed = H("sed") toyboxEarly = H("toybox-early")
SPIRVHeaders = H("spirv-headers") Unzip = H("unzip")
SPIRVLLVMTranslator = H("spirv-llvm-translator") UtilLinux = H("util-linux")
SPIRVTools = H("spirv-tools") VIM = H("vim")
SquashfsTools = H("squashfs-tools") Wayland = H("wayland")
Strace = H("strace") WaylandProtocols = H("wayland-protocols")
TamaGo = H("tamago") XCB = H("xcb")
Tar = H("tar") XCBProto = H("xcb-proto")
Texinfo = H("texinfo") XDGDBusProxy = H("xdg-dbus-proxy")
Toybox = H("toybox") XZ = H("xz")
toyboxEarly = H("toybox-early") Xkbcomp = H("xkbcomp")
Unzip = H("unzip") XkeyboardConfig = H("xkeyboard-config")
UtilLinux = H("util-linux") XorgProto = H("xorgproto")
VIM = H("vim") Xserver = H("xserver")
Wayland = H("wayland") Zlib = H("zlib")
WaylandProtocols = H("wayland-protocols") Zstd = H("zstd")
XCB = H("xcb") stage0Dist = H("stage0-dist")
XCBProto = H("xcb-proto") llvmSource = H("llvm-project")
XDGDBusProxy = H("xdg-dbus-proxy") earlyCompilerRT = H("early-compiler-rt")
XZ = H("xz") earlyRuntimes = H("early-runtimes")
Xkbcomp = H("xkbcomp") utilMacros = H("util-macros")
XkeyboardConfig = H("xkeyboard-config") Musl = H("musl")
XorgProto = H("xorgproto") muslHeaders = H("musl-headers")
Xserver = H("xserver") gcc = H("gcc")
Zlib = H("zlib") Stage0 = H("rosa-stage0")
Zstd = H("zstd")
stage0Dist = H("stage0-dist")
llvmSource = H("llvm-project")
earlyCompilerRT = H("early-compiler-rt")
earlyRuntimes = H("early-runtimes")
utilMacros = H("util-macros")
Musl = H("musl")
muslHeaders = H("musl-headers")
gcc = H("gcc")
Stage0 = H("rosa-stage0")
) )