cmake
무료Package a CMake-based project for corepkgs. Use when a source tree has a CMakeLists.txt — covers the minimal derivation, cmakeEntries, cross-compilation, and diagnosing CMake configure failures.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Review a package expression for best-practices compliance. Use when reviewing PRs or auditing existing packages — checks meta completeness, build-system idioms (cmakeEntries, mesonEntries, pyproject), dependency placement, and packaging conventions.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
실행 점수 미검증
설치 방법 보기설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
Review a Nix package expression and report violations. Read the package file(s), then check every rule below. Report each finding with the line number and a short explanation.
Every package must have all three:
| Field | What to check |
|---|---|
meta.description | Present, non-empty, does not repeat the package name verbatim |
meta.license | Present, uses lib.licenses.* (not a raw string) |
meta.platforms | Present, uses lib.platforms.* |
Flag as "recommended" (not error) if missing:
meta.homepage — upstream project URLmeta.mainProgram — for packages that install a binaryFlag as error if present:
meta.maintainers or meta.teams — not a recognised key; fails check-metacmakeEntries, cmakeFlags, or cmakeBuildType are used, cmake.configurePhaseHook must be in nativeBuildInputs. (Some builds use cmake as a dependency without the configure phase hook — that is fine.)cmakeEntries (attrset) over cmakeFlags (string list) for -D flags. Flag cmakeFlags with -D entries as "prefer cmakeEntries".mesonEntries, mesonFlags, or mesonFeatures are used, meson.configurePhaseHook must be in nativeBuildInputs.ninja must be in nativeBuildInputs when meson.configurePhaseHook is present.mesonEntries over mesonFlags for -D options. Flag mesonFlags with -D entries as "prefer mesonEntries".mesonFeatures for feature-type options (enabled/disabled/auto).When using buildPythonPackage:
pyproject = true should be set (flag legacy format = as "prefer pyproject")build-system should be present when pyproject = truepythonImportsCheck is recommendedWhen using buildRustPackage:
cargoHash must be presentmeta.mainProgram is recommended for binary cratesWhen using buildGoModule:
vendorHash must be presentmeta.mainProgram is recommended for CLI toolsfinalAttrs pattern — flag rec { as "prefer finalAttrs"__structuredAttrs = true — it is the defaultdoCheck = false or doInstallCheck = false — they are defaultsmeta.maintainers or meta.teamsplaceholder if possible — prefer shell output references for better content-addressed derivation support. E.g. "PREFIX=${placeholder "out"}" → "PREFIX=$(out)"mkDerivation) should be separated by an empty line between each attributepname, version, extensions, pyproject, and disabled may be grouped together without blank linesnativeBuildInputs, not buildInputsbuildInputs, not nativeBuildInputscheckInputs or nativeCheckInputsstrictDeps = true should be set when depsBuildBuild is usedpython3.pkgs over python3PackagesfetchFromGitHub, fetchFromGitLab, fetchFromBitbucket, etc.) for source checkouts — flag fetchzip/fetchurl pointing at a forge source tarball as "prefer fetchFrom*". Fetching uploaded release artifacts (e.g. pre-built binaries, vendored bundles) with fetchzip/fetchurl is acceptable.fetchFromGitHub/fetchFromGitLab should use tag, not rev with a tag valuesha256-...), not bare hexfixup!, squash!, or small corrections to a previous commit in the same PR) should be squashed into the commit they fix before mergepassthru.tests over in-build doCheck = truetestPaths over manual test phaseGroup findings by severity:
## Errors
- line 12: missing `cmake.configurePhaseHook` in nativeBuildInputs
- line 30: `meta.maintainers` is forbidden — remove it
## Warnings
- line 8: `cmakeFlags` with -D entries — prefer `cmakeEntries` attrset
- line 25: `doCheck = false` is the default — remove redundant line
## Recommendations
- missing `meta.homepage`
- missing `meta.mainProgram` for binary package
If there are no findings in a severity group, omit that group. If the package is clean, say so.
아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
Package a CMake-based project for corepkgs. Use when a source tree has a CMakeLists.txt — covers the minimal derivation, cmakeEntries, cross-compilation, and diagnosing CMake configure failures.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Fix all broken package builds in the repository. Runs a full build of ci/packages.nix in the background while iterating on failures in the foreground until everything builds.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Package a Go module for corepkgs. Use when writing or editing a buildGoModule derivation — covers vendorHash, ldflags, subPackages, tags, env.CGO_ENABLED, proxyVendor, shell completions, and pinning a Go version.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Package a Meson/Ninja project for corepkgs. Use when a source tree has a meson.build — covers mesonFlags, auto features, cross-compilation, and diagnosing Meson setup failures.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Work with multi-version packages under pkgs-many (guile, go, erlang, perl, openssl, ...). Use when adding or changing a package that ships several versions side by side — covers the default.nix/variants.nix/generic.nix three-file pattern, the packageOlder/packageAtLeast version helpers, and mkVariantPassthru.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
corepkgs packaging conventions. Use when writing or reviewing any pkgs/<name>/default.nix — covers package organization (auto-registration, top-level.nix, alternative implementations), the finalAttrs pattern, meta attributes, where each kind of dependency belongs, fetchers, patching, install phases, multiple outputs, and passthru.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.