-
Notifications
You must be signed in to change notification settings - Fork 105
On packaging Ouch
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.
- Ouch can now generate its own man pages (used to rely on
help2man
). - ENV VAR for building artifacts has changed (see below).
Check the releases page.
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.
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