add-determinism
brew install add-determinism
v0.7.3
GPL-3.0-or-later
Build postprocessor to reset metadata fields for build reproducibility
43
30-day installs · #5013
57
90-day · #6941
189
365-day · #7504
152
★ GitHub stars · updated 2mo ago
Build dependencies
Links
- https://github.com/keszybz/add-determinism
- GitHub: keszybz/add-determinism
- Brew formula source: Formula/a/add-determinism.rb
Raw metadata
{
"aliases": [],
"alternatives": [],
"build_dependencies": [
"pkgconf",
"rust"
],
"categories": [],
"caveats": null,
"conflicts_with": [],
"dependencies": [],
"deprecated": 0,
"deprecation_reason": null,
"desc": "Build postprocessor to reset metadata fields for build reproducibility",
"disable_reason": null,
"disabled": 0,
"enrichment_fetched_at": "2026-06-20T23:35:17+00:00",
"first_seen": "2026-06-20T23:34:18+00:00",
"full_name": "add-determinism",
"github_default_branch": "main",
"github_last_commit_at": "2026-06-03T14:45:45Z",
"github_readme_excerpt": "# Build postprocessors to reset metadata fields and hardlink files for build reproducibility\n\n\u003ca href=\"https://repology.org/project/add-determinism/versions\"\u003e\n \u003cimg src=\"https://repology.org/badge/vertical-allrepos/add-determinism.svg\" alt=\"Packaging status\" align=\"right\"\u003e\n\u003c/a\u003e\n\nThis crate provides two related programs for package build postprocessing.\n\n## `add-det`\n\n`add-det` takes one or more paths as arguments,\nand will recursively process normal files in those paths,\nattempting to run a set of type-specific handlers on any files with extensions that match.\n(Each argument can be either a single file or a directory to be processed recursively.)\n\nFor each processed file, a temporary file is opened,\nthe contents are rewritten,\nthe modification timestamp is copied from the original file to the temporary copy,\nand the copy is renamed over the original.\n\nIf processing fails, a warning is emitted,\nbut no modifications are made and the program returns success.\n\nThe purpose of this tool is to eliminate common sources of non-determinism in builds,\nmaking it easier to create reproducible (package) builds.\n\n### Usage\n\n#### Standalone usage\n\n```console\n$ add-det /path/to/file /path/to/directory\n```\nNote that the program works in-place, replacing input files with the rewritten versions (if any modifications are made).\n\nSome useful options:\n\n* `-v` \u2014 enable debug output\n* `-j [N]` \u2014 use `N` workers (or as many as CPUs, if `N` is not given)\n* `--handler list|HANDLER|-HANDLER` \u2014 constrain the list of handlers. Takes a comma-separated list of names, either a list of \"positive\" names, in which case only listed handlers will be used, or a list of \"negative\" names, each prefixed by minus, in which case the listed handlers will not be used. By default, handlers that cannot be initialized are skipped with a warning. If a \"positive\" list is given, failure to initialize a handler will cause an error. The special value `list` can be used to list known handlers.\n* `--brp` \u2014 enable \"buil",
"github_repo": "keszybz/add-determinism",
"github_stars": 152,
"github_topics": [],
"homepage": "https://github.com/keszybz/add-determinism",
"homepage_og_description": null,
"homepage_og_image": null,
"homepage_title": null,
"installs_30d": 43,
"installs_365d": 189,
"installs_90d": 57,
"keg_only": 0,
"keg_only_reason": null,
"last_seen": "2026-06-20T23:34:18+00:00",
"license": "GPL-3.0-or-later",
"llm_generated_at": null,
"llm_model": null,
"name": "add-determinism",
"oldnames": [],
"one_liner": null,
"optional_dependencies": [],
"rank_30d": 5013,
"rank_365d": 7504,
"rank_90d": 6941,
"raw_hash": "95e3f6f1c228be8e",
"recommended_dependencies": [],
"revision": 0,
"ruby_source_path": "Formula/a/add-determinism.rb",
"tap": "homebrew/core",
"test_dependencies": [],
"uses_from_macos": [
{
"llvm": "build"
}
],
"version_head": null,
"version_stable": "0.7.3",
"versioned_formulae": [],
"why_use_this": null
}