Looking for a simple way to run binaries from the YggDrasil repo? RunBinary.jl has you covered!
Under the hood, it performs the following steps:
- Activate a temporary environment, as in
]activate --temp. - Add the required jll package to this env.
- Import the jll and run the target executable.
RunBinary.jl exports a single macro, @run.
julia> using RunBinaryMost basic usage: run a binary from a jll package with @run <package>.<binary>. Here, package can be specified either with or without the _jll suffix.
For example,
julia> @run SQLCipher.sqlcipher
julia> @run ImageMagick_jll.identifyCan omit the binary name if the package contains only a single binary:
julia> @run SQLCipherRunBinary.jl passes command-line arguments to the binary:
julia> @run ImageMagick_jll.identify `-version`The binary is started in the current directory, as if it was ran normally from a shell.
RunBinary.jl can be executed via Julia CLI in a reasonably convenient way:
$ julia -e 'using RunBinary; @run ImageMagick_jll.identify `-version`'(assuming RunBinary is installed in the global Julia environment).
On Julia 1.12+, RunBinary can be installed as a standalone app:
$ julia -e 'import Pkg; Pkg.Apps.add("RunBinary")'Then use it directly from the shell:
$ runbinary ImageMagick.identify --version
$ runbinary p7zip --help
$ runbinary ImageMagick.convert input.png output.jpgRun runbinary without arguments to see usage help.