pub fn from_pack<P>(
    pack: PathOrRead,
    directory: Option<PathBuf>,
    progress: P,
    ctx: Context<'static, impl Write>
) -> Result<()>where
    P: Progress,
    P::SubProgress: 'static,