2024 Crate of the Year Awards!

Hello here, AdaCore just announced the 3rd edition of the Crate of the Year Awards . No need to register, winning crates will be selected from all the crates in the Alire ecosystem.

I am opening this thread as a place for everyone to discuss which crate they think would be a good candidate or even promote their crate.

Have fun and happy hacking!


I was just wondering about this today. I’ll gladly participate, but I’ll need someone else to upload my code; they may not require explicit entry, but they still require a MicroSoft GitHub account, which I lack.

If you want I can add it to my Github account? Or should I create a new GitHub account on your behalf?

The simplest way would be for you, @bracke, to submit using your account, listing you as maintainer and @Verisimilitude as author, which reflects the actual situation.

1 Like

I don’t use gprbuild or Alire, but I, too, have a collection of software on GitHub that might benefit from cratification, if someone would find that a worthwhile activity.

1 Like

How would you want it done? Like @mosteo wrote above or do want to use/modify your own GitHub repositories?

Built with and for Alire since day one, and gaining almost 200 points and over 100 replies on hacker news (including recognition from the rustup developers), and even a shout out in the Ada Community Workshop, I guess I should mention that getada is now a published Alire create :slight_smile:


I don’t want a MicroSoft GitHub account, but thanks for the offer. I’ll reread the Alire documentation and prepare the metadata soon.

I’ve forgotten how Alire handles code which needs to vary based on the system, if it provides any method for such.

The traditional, Alire-agnostic way, is to rely on a GPR external variable in your project that can then be set by Alire based on the detected environment via manifest definitions (gpr-set-externals).

Alternatively, you can rely on Alire generated configuration files, which will simplify the manifest and hide the issue entirely for clients of your crate.

1 Like

Yes, I’m reading through the documentation again right now. I think, for one particularly simple library, the best thing will be to provide different files. For another, I’ll just cap it to GNU/Linux and call it a day.