External Deps
Developmentexternal-depsExternal Deps is an Agent Skill for development published in the JuliaLang/julia repository on GitHub: a SKILL.md instruction file an AI agent can load to do this task.
Modify Julia's external dependencies and JLLs — patches under deps/patches/, version bumps in deps/, and JLL updates. Use when touching deps/ or any *_jll folder, including refreshing checksums.
QUICK START
How to use this skill
Bring this guide into your coding agent with a prompt tailored to the tool you use.
- Open your project in Codex.
- Copy and paste the prompt below.
- Review files and risks before approving any action.
Prompt to paste
Inspect the Agent Skill at https://github.com/JuliaLang/julia/blob/HEAD/doc/src/devdocs/agents/skills/external-deps/SKILL.md and all supporting files. Report provenance, permissions, scripts, dependencies, and security risks. Propose an exact installation into .agents/skills/external-deps, but wait for my approval before writing files or running scripts.
Copying this prompt does not install or run the skill. Review third-party files before use.
External dependencies & JLLs
Use this when modifying deps/, dependency patches, or a JLL.
External dependencies (deps/, deps/patches/)
When modifying external dependencies (patches in deps/patches/ or version
updates in deps/):
- Always test builds with
USE_BINARYBUILDER=0to ensure source builds work correctly. - For patches to external libraries:
- Verify the patch applies cleanly by running the extraction and patch steps.
- Test the full build of the dependency:
make -C deps USE_BINARYBUILDER=0 compile-<depname>. - Prefer using the full upstream commit in
git amformat (e.g.,git format-patch) which includes proper commit metadata.
- When updating dependency versions, ensure all associated patches still apply.
External JLLs
To update a JLL to the latest version:
- Update the version number in the appropriate jll folder.
- If the dependencies in the upstream jll changed, update the
Project.toml. - Run
make -f contrib/refresh_checksums.mk <jll>to update the checksums. This may take a few minutes.