Require some external program

How do you specify a dependency on some external program in your package?

I need to read meta data from a variation of video files and I thought I’d use ExifTool (please let me know if there is a julian alternative). Is there a way to tell julia to install that program when a user Pkg.clones my package? Assuming said external program exists on all platforms, will this work regardless of what platform julia is sitting on?

Thanks!

https://github.com/JuliaLang/BinDeps.jl

1 Like

My plotting package Gaston requires gnuplot. What I do is to check for the presence of gnuplot when the package is loaded, and emit an error if it can’t be found. I could have used BinDeps.jl, but I didn’t want to have to deal with the different installation methods across platforms, requiring sudo, etc.

1 Like

I see. Not sure my users will figure out how to install stuff… But it might be what I’ll fall back onto. Thanks!

BinDeps will run a set of installation instructions, so users don’t have to know how to do it.

Yea, that’s impressive!