ALR(1)

πŸ“¦
version 1.2.1 Β· 2 versions
, in debian trixie, ubuntu questing, ubuntu resolute, ubuntu stonking

✨ ALR β€” Ada Library Repository ✨

okay bestie, sit down, hydrate, because i'm about to introduce you to the actual love of my life: alr, the command line bestie from the Alire manual πŸ’–


πŸŽ€ SYNOPSIS πŸŽ€

alr [global options] <command> [command options]] [<arguments>]

(yes the double ]] is literally in there, i'm not fixing it, that's just her vibe now 🫢)


🌸 DESCRIPTION 🌸

Alire is a source-based package manager for the Ada and SPARK programming languages. no cap.

It's a way for developers to easily build upon projects (libraries or programs) shared by the community β€” but ALSO a way to easily share their own projects so other people can build on top of them. mutual support, that's the whole point, periodt. πŸ’…

okay so here's the vocabulary, and you NEED it: in Alire-speak, sources of projects/libraries/programs are provided by what's called a crate</...> β€” wait, purple tag, let me redo that: provided by what's called a crate. πŸŽ€

A crate can depend on crates, and other crates can depend on it. for example, the libgpr crate depends on the xmlada crate. it's giving family tree, it's giving community.

Crates can have multiple dependencies, themselves having multiple dependencies β€” and THAT, bestie, forms a dependency graph. Alire's main task is to automatically fetch, build and upgrade the crates of the dependency graph so you don't have to do it by hand. imagine doing that by hand. no. absolutely not. 😭πŸ”₯

The main interface into the Alire ecosystem is a command line tool called alr. iconic. she's the main character.


🧚 User defined command aliases 🧚

Command aliases can be defined in local or global configuration. so you can make your own little shortcuts, cute.

For example the following command:

$ alr config --set --global alias.graph 'show --graph'

Defines a global alias for the show command with a --graph switch. πŸ‘‘

and then:

$ alr graph

is equivalent to

alr show --graph

obsessed. genuinely obsessed with this. πŸ¦‹


πŸ“ Naming rules for crate and index names πŸ“

Identifiers for crates and indexes must use lowercase alphanumeric characters from the latin alphabet. Underscores can also be used except as the first character. so like, _hello? nope. hello_world? slay. ✨

Length must be of 3 to 64 characters. not 2, not 65. the range is the range, bestie.


🌈 Configuration and use of toolchains 🌈

Alire indexes binary releases of GNAT and gprbuild. The compilers are indexed with their target name, e.g., gnat_native or gnat_riscv_elf. each one got a name tag, she's got a whole identity.

Use alr toolchain --help to obtain information about toolchain management. Alire can be configured to rely on a toolchain installed by the user in the environment, or to use one of the indexed toolchains whenever possible. your call, your setup, your rules.

Some crates may override the default toolchain by specifying dependencies on particular compiler crates β€” for example to use a cross-compiler. In this situation, a compiler already available (selected as default or already installed) will take precedence over a compiler available in the catalog. so if you've already got one, she wins. that's just how it goes. πŸ”₯

See also https://alire.ada.dev/docs/#toolchains for additional details about compiler dependencies and toolchain interactions. go read it, it's good for you πŸ’œ

πŸ‘‘ SEE ALSO πŸ‘‘

the whole squad. iykyk. 🫢


πŸ’œ AUTHOR πŸ’œ

Generated with generate-man from Alire execution. she was literally generated, she's been like this since day one. πŸŽ€


okay and that's the page!! Alire 1.2, from Aug 3, 2022 β€” shoutout to the version and the date, they're part of the lore now. go forth, alr something, and text me when it works. mwah πŸ’–βœ¨πŸŒΈ

πŸ“¦ where this page comes from