Translate the current Conan Center libdeflate recipe into an LLAR Formula in this repository.
Source material
Goal
Add ebiggers/libdeflate to llarhub. The result should preserve the useful package semantics expressed by the Conan recipe, but it must be an idiomatic LLAR Formula rather than a line-by-line rewrite of conanfile.py.
Read and follow .agents/skills/write-formula/SKILL.md and both of its required references before editing.
Translation process
- Read the Conan recipe,
conandata.yml, and test_package to identify the source tags, build system, package options, installed interface, and consumer verification.
- Inspect the actual upstream source at both
v1.22 and v1.25. Treat the Conan recipe as a guide to what needs investigation, not as authority for upstream behavior.
- Determine whether one Formula can safely serve both tags. Choose
fromVer from the verified range. Do not claim support for the separate pre_1.15 Conan recipe in this issue.
- Verify direct dependencies from upstream. The current Conan recipe declares none, so
versions.json should not invent any. Add onRequire only if the upstream sources prove that dependency discovery is needed.
- Translate only build choices that materially affect dependency resolution, commands, installed output, metadata, tests, or platform support. Evaluate the Conan
shared and fPIC options separately and map retained package choices to target.options. Environment requirements belong in target.require only when the Formula reads them.
- Implement the build with the current LLAR CMake helper.
onBuild must build the selected source and install the library and public headers into ctx.outputDir. Call configure, build, and install directly because they already panic on failure.
- Preserve the Conan package intent of building the library without the gzip program or upstream test suite unless upstream inspection shows a different requirement. Do not copy Conan-only layout, generators, package cleanup, compatibility code, or defensive settings into the Formula.
- Derive
ctx.setMetadata from the actual installed consumer interface. Prefer valid installed package metadata when available; do not guess linker flags from the Conan package_info block.
- Add
onTest using the consumer behavior in the Conan test_package as the reference: compile and run a small C consumer against the installed libdeflate result. Keep its build directory independent of the onBuild scratch tree so it also works on a cache hit.
- Keep every module id, source tag, Formula filename,
versions.json entry, matrix option, CMake definition, and test path backed by the inspected source.
Validation
Run the repository-required Formula checks and at least:
llar test -v ./ebiggers/libdeflate@v1.22
llar test -v ./ebiggers/libdeflate@v1.25
Test the default option selection and each retained output-changing option with explicit host --os and --arch values. Re-run one tested selection to verify cache-hit onTest behavior.
The pull request should contain only the module files needed for ebiggers/libdeflate; do not add a generic Conan importer or modify the Formula skill.
Translate the current Conan Center
libdeflaterecipe into an LLAR Formula in this repository.Source material
v1.22andv1.25Goal
Add
ebiggers/libdeflateto llarhub. The result should preserve the useful package semantics expressed by the Conan recipe, but it must be an idiomatic LLAR Formula rather than a line-by-line rewrite ofconanfile.py.Read and follow
.agents/skills/write-formula/SKILL.mdand both of its required references before editing.Translation process
conandata.yml, andtest_packageto identify the source tags, build system, package options, installed interface, and consumer verification.v1.22andv1.25. Treat the Conan recipe as a guide to what needs investigation, not as authority for upstream behavior.fromVerfrom the verified range. Do not claim support for the separatepre_1.15Conan recipe in this issue.versions.jsonshould not invent any. AddonRequireonly if the upstream sources prove that dependency discovery is needed.sharedandfPICoptions separately and map retained package choices totarget.options. Environment requirements belong intarget.requireonly when the Formula reads them.onBuildmust build the selected source and install the library and public headers intoctx.outputDir. Callconfigure,build, andinstalldirectly because they already panic on failure.ctx.setMetadatafrom the actual installed consumer interface. Prefer valid installed package metadata when available; do not guess linker flags from the Conanpackage_infoblock.onTestusing the consumer behavior in the Conantest_packageas the reference: compile and run a small C consumer against the installed libdeflate result. Keep its build directory independent of theonBuildscratch tree so it also works on a cache hit.versions.jsonentry, matrix option, CMake definition, and test path backed by the inspected source.Validation
Run the repository-required Formula checks and at least:
Test the default option selection and each retained output-changing option with explicit host
--osand--archvalues. Re-run one tested selection to verify cache-hitonTestbehavior.The pull request should contain only the module files needed for
ebiggers/libdeflate; do not add a generic Conan importer or modify the Formula skill.