meson-package-export-distribution — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited meson-package-export-distribution (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Use this skill when the goal is to ship a project cleanly to other users, package managers, or downstream build systems.
Runnable examples live under this skill's examples/ directory.
project(
'example',
'c',
'cpp',
version: '0.1.0',
meson_version: '>=1.7.0',
license: 'MIT',
license_files: ['LICENSE'],
default_options: [
'c_std=c17',
'cpp_std=c++20',
'warning_level=3',
],
)inc = include_directories('include')
lib = library(
'mylib',
'src/mylib.cpp',
include_directories: inc,
version: '1.2.0',
soversion: '1',
install: true,
)
install_headers('include/mylib/mylib.hpp', subdir: 'mylib')This installs the public API and keeps private implementation details out of the package.
pkg = import('pkgconfig')
pkg.generate(
lib,
description: 'My reusable library',
filebase: 'mylib',
subdirs: 'mylib',
)That makes the library easy to consume from other Meson projects and from non-Meson consumers that use pkg-config.
If the library has a stable ABI, version it intentionally:
version tracks the project releasesoversion tracks the ABI familyUse both when the library is intended for downstream reuse.
Prefer install layouts that do not bake build-tree paths into installed files. Keep generated .pc files and config files portable when possible.
If a package needs a prefix-relative install, structure it deliberately and document the assumption.
Use DESTDIR during packaging and keep prefixes relocatable.
meson install -C builddir --destdir "$pkgdir"Use meson dist for source distributions when the project is set up to build from a clean tree.
meson dist -C builddirA good packaging story should cover:
Use for projects that expose libraries to many consumers.
Use when downstream users primarily consume via CMake and need package config files.
Document how the project fits those ecosystems instead of assuming every consumer is a Meson user.
version and soversionmeson-testing-installationmeson-advanced-project-designmeson-patterns-cookbook~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.