let make ~url
?(install_program = fun ~path -> noop)
?(init_program = fun ~path -> noop)
~witness ?(archive_is_directory = true)
?unarchived_directory
tool_definition =
{tool_definition; url; install_program;
init_program; witness; unarchived_directory; archive_is_directory}