ark

June 17, 2026 ยท View on GitHub

Manages software archive download, extraction, optional build/configure steps, and convenience links.

Actions

ActionDescription
:installDownloads, extracts, creates a friendly home link, and optionally links binaries.
:putDownloads and extracts the archive into the requested path without creating home links.
:dumpExtracts archive contents into the requested path.
:unzipExtracts zip-compatible archives into the requested path.
:cherry_pickExtracts a specific file from an archive.
:install_with_makeExtracts, configures, builds, and runs make install.
:setup_py_buildExtracts and runs python setup.py build.
:setup_py_installExtracts and runs python setup.py install.
:setup_pyExtracts and runs python setup.py.
:configureExtracts and runs autogen/configure steps.

Properties

PropertyTypeDefaultDescription
nameStringname propertyArchive name.
ownerStringplatform defaultOwner for extracted content.
groupString, Integer0Group for extracted content.
urlStringrequiredRemote URL or file:// URL for the archive.
pathStringaction-specificExtraction path.
full_pathStringnilDeprecated compatibility property.
append_env_pathtrue, falsefalseAdds the extracted bin directory to PATH.
checksumStringnilSHA-256 checksum for the archive.
has_binariesArray[]Relative binary paths to link into prefix_bin.
createsStringnilFile used as an extraction guard for selective actions.
release_fileStringgeneratedLocal cache path for the downloaded archive.
strip_leading_dirtrue, false, nilnilDeprecated strip behavior compatibility property.
strip_componentsInteger1Number of leading archive path components to strip.
modeInteger, String0755Mode for created directories.
prefix_rootString/usr/localBase path for versioned installs.
prefix_homeString/usr/localBase path for friendly home links.
prefix_binString/usr/local/binDirectory where binary links are created.
versionString1Archive version used in generated paths.
home_dirStringgeneratedFriendly symlink path for install actions.
win_install_dirStringnilWindows install path override.
environmentHash{}Environment for extraction and build commands.
autoconf_optsArray[]Options passed to configure.
make_optsArray[]Options passed to make and make install.
extensionStringinferredArchive extension when it cannot be inferred from the URL.
package_dependenciesArrayplatform defaultPackages installed by ark_prereq.
install_dependenciestrue, falsetrueWhether to install prerequisite packages.
tar_binaryStringplatform defaultTar binary path.
sevenzip_binaryStringregistry/platform default7-Zip binary path on Windows.
backupfalse, Integer5Backup count passed to remote_file.

Examples

Basic Install

ark 'ivy' do
  url 'https://example.com/ivy.tar.gz'
  version '2.2.0'
  checksum '89ba5fde0c596db388c3bbd265b63007a9cc3df3a8e6d79a46780c1a39408cb5'
  action :install
end

Extract To A Directory

ark 'my_jars' do
  url 'https://example.com/bunch_of_jars.zip'
  path '/usr/local/tomcat/lib'
  creates 'mysql.jar'
  action :dump
end