Skip to content
João Marcos Bezerra edited this page Nov 24, 2022 · 6 revisions

Thanks for your interest in helping Ouch!

This page can be edited by anyone, feel free to add more details to it.

If necessary, you can start a discussion at https://github.com/ouch-org/ouch/discussions.

Packaging status

Breaking changes for packaging

Since 0.4.0 (November 2022)

  • Ouch can now generate its own man pages (used to rely on help2man).
  • ENV VAR for building artifacts has changed (see below).

Download binary and build artifacts

Check the releases page.

Runtime dependencies

If you download the release bundle for the Linux x86_64 musl target, no dependencies are required.

Otherwise, you'll need runtime dependencies, check https://github.com/ouch-org/ouch#dependencies for a list.

How to build artifacts

Run cargo build with the OUCH_ARTIFACTS_FOLDER env var set.

OUCH_ARTIFACTS_FOLDER=artifacts cargo build --release

Note: using --release here is optional, but you might want to use it right away to avoid compiling ouch twice.

The env var tells the script at build.rs to:

  • Generate shell completions.
  • Generate man pages.

Inside of the provided folder, in this case, we passed the folder name artifacts.

$ tree artifacts
├── ouch.1             # man page
├── ouch-compress.1    # man page - subcommand 'compress'
├── ouch-decompress.1  # man page - subcommand 'decompress'
├── ouch-list.1        # man page - subcommand 'list'
├── _ouch              # shell completions for Zsh
├── ouch.bash          # shell completions for Bash
├── ouch.elv           # shell completions for Elvish
├── ouch.fish          # shell completions for Fish
└── _ouch.ps1          # shell completions for PowerShell