{"id":50565420,"url":"https://github.com/kdheepak/mise-jll","last_synced_at":"2026-06-04T14:01:30.463Z","repository":{"id":344547809,"uuid":"1182134959","full_name":"kdheepak/mise-jll","owner":"kdheepak","description":"A mise backend plugin for installing tools and libraries from JuliaBinaryWrappers JLL packages without installing Julia.","archived":false,"fork":false,"pushed_at":"2026-03-20T20:43:17.000Z","size":19,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-13T08:08:16.811Z","etag":null,"topics":["binary-builder","julia","mise","plugin"],"latest_commit_sha":null,"homepage":"","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kdheepak.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-15T04:46:20.000Z","updated_at":"2026-03-31T11:55:22.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/kdheepak/mise-jll","commit_stats":null,"previous_names":["kdheepak/mise-jll"],"tags_count":0,"template":false,"template_full_name":"jdx/mise-backend-plugin-template","purl":"pkg:github/kdheepak/mise-jll","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kdheepak%2Fmise-jll","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kdheepak%2Fmise-jll/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kdheepak%2Fmise-jll/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kdheepak%2Fmise-jll/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kdheepak","download_url":"https://codeload.github.com/kdheepak/mise-jll/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kdheepak%2Fmise-jll/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33907694,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-04T02:00:06.755Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["binary-builder","julia","mise","plugin"],"created_at":"2026-06-04T14:01:29.318Z","updated_at":"2026-06-04T14:01:30.412Z","avatar_url":"https://github.com/kdheepak.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"# mise-jll\n\n`mise-jll` is a [`mise` backend plugin](https://mise.jdx.dev/backend-plugin-development.html) for installing tools and libraries from [JuliaBinaryWrappers JLL packages](https://github.com/JuliaBinaryWrappers/) without installing Julia.\n\n\u003e [!WARNING]\n\u003e\n\u003e This is an experimental plugin and does not work on Windows.\n\nJLL packages are a useful distribution channel for prebuilt binaries, but the usual way to consume them is through Julia's package manager.\n\nThis backend allows using that channel without installing Julia or invoking the Julia runtime at all. This is especially useful for CLI tools, but library-oriented JLLs may also work.\n\nThe `mise` backend can be used:\n\n```bash\nmise ls-remote jll:ffmpeg\nmise install jll:ffmpeg@latest\nmise exec jll:ffmpeg@latest -- ffmpeg -version\n```\n\n## Install\n\nBackend plugins currently require `mise` experimental features to be enabled:\n\n```bash\nmise settings experimental=true\nmise plugin install jll https://github.com/kdheepak/mise-jll\n```\n\n## Usage\n\nList available versions:\n\n```bash\nmise ls-remote jll:git\nmise ls-remote jll:ffmpeg\n```\n\nInstall a package:\n\n```bash\nmise install jll:git@latest\nmise install jll:ffmpeg@8.0.1+1\n```\n\nRun a tool through `mise`:\n\n```bash\nmise exec jll:git@latest -- git --version\nmise exec jll:xml2@latest -- xmllint --version\nmise exec jll:p7zip@latest -- 7z\n```\n\nThe plugin writes a `manifest.json` into the install directory and uses it to reconstruct `PATH` and the platform library search path when `mise exec` runs.\n\nCurrently, the platform support only covers macOS and Linux.\n\n## How it works\n\nThis backend uses the Julia General registry for package metadata, resolves JLL dependencies in Lua, downloads the artifact for the current machine, and reconstructs the environment those binaries expect.\n\n1. Resolve the requested package name against [Julia General](https://github.com/JuliaRegistries/General/tree/master/jll).\n2. Read `Versions.toml`, `Deps.toml`, and `Compat.toml` from the registry.\n3. Solve the transitive JLL dependency graph.\n4. Fetch the version-specific `Artifacts.toml` from the corresponding `JuliaBinaryWrappers/*_jll.jl` repository.\n5. Choose the artifact that matches the current platform.\n6. Download and unpack the artifact into the `mise` install directory.\n7. Read the generated wrapper files to keep only the runtime dependencies that are active on the current host.\n8. Write a manifest that the exec hook uses to rebuild the expected environment.\n\nMost packages resolve cleanly from the current OS and CPU architecture alone. Some JLLs publish multiple artifacts for the same platform and differ by `libc`, `call_abi`, `cxxstring_abi`, or `libgfortran_version`.\n\nWhen artifact selection is ambiguous, you may have to set one or more of these environment variables before installing:\n\n- `MISE_JLL_LIBC`\n- `MISE_JLL_CALL_ABI`\n- `MISE_JLL_CXXSTRING_ABI`\n- `MISE_JLL_LIBGFORTRAN_VERSION`\n\n## Development\n\nFor development locally:\n\n```bash\nmise plugin link --force jll .\n```\n\nFormat Lua files:\n\n```bash\nmise run format\n```\n\nInstall the local git hook:\n\n```bash\nprek install\n```\n\nRun the smoke test matrix:\n\n```bash\nmise run test\n```\n\nRun the full CI task:\n\n```bash\nmise run ci\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkdheepak%2Fmise-jll","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkdheepak%2Fmise-jll","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkdheepak%2Fmise-jll/lists"}