Show HN: Getada: rustup-like installer for Ada's toolchain/package manager

This page summarizes the projects mentioned and recommended in the original post on

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
  • getada

    An unofficial installer for Alire

    One of my goals with Ada is to have a one-liner copy-paste terminal command for people to install Ada so they can get to coding in just a few minutes. After extensive testing I feel like it's ready for general release[1].

    Getada was inspired by Rustup[2] and aside from the init script is written entirely in Ada.

    It's completely open source and you can check out the readme and code on github[3]. It currently supports all non-windows platforms that Alire has an official release for, which at present is Linux (glibc) and MacOS. If you try running it on an unsupported platform, it tries to point you in the right direction. For example, you can install Alire on windows with an already-existing installer.

    It downloads the latest version of Alire[4] (Ada's toolchain and package manager, similar to Cargo) for your platform as a zip file to a temporary directory and then extracts it to a binary directory. By default the temporary directory (configure with "-t /directory" or "--tmp=/directory") defaulted to $TMPDIR or /tmp. The config directory is ~/.getada (change via "-c /directory", "--cfg=/directory", or $GETADA_CFG), and the alr and getada binaries go in ~/.getada/bin (configure with ""-b /directory", "--bin=/directory", or $GETADA_BIN). It also tries to add the file to your path by dropping a "" file into ~/.profile/ (disable with -p or --no-path).

    If you don't allow executables in temporary or home directories, you can change all of these via environmental variables or passing parameters.

    You can remove it all by running: getada --uninstall

    Now you can create a brand new Ada project with: alr init --bin my_project (How to use Alire[5] for more details)

    Since one of the biggest complaints about Ada is getting the toolchain [6], I hope this can solve a lot of problems for newcomers to the language.







  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • alire

    Command-line tool from the Alire project and supporting library

    Getting alire installed involves downloading the zip, extracting the binary, and moving the binary to a directory in $PATH. If you're on a mac, you also have to run an "xattr" command on the tool to get it running.

    I've seen the last parts get newcomers tripped up so Getada takes the rustup approach.

    It uses github's api to retrieve the latest published release of alire[1] and then downloads and extracts it to a specified directory in $HOME. Then it creates an env file[2] and sources that file in .profile and/or .zshenv. It also logs everything that it does so it can undo it later with getada --uninstall


    [2] Here's roughly what the env file looks like that it creates

  • sdlada

    Ada 2022 bindings to SDL 2 - Don't STAR this, this is my personal repo which I may delete over using the AGF one below.

    SDLAda has been around for a while:

    You can add it as a dependency to your Alire project: `alr with sdlada`

  • sdl2-examples

    SDL2 examples, for 25+ different programming languages

    I've had issues with the combination of Ada + SDL2 + Linux in connection with

    Raylib is cool, though.

  • learn

    Sources for (by AdaCore)

  • sdlada

    Ada 2022 bindings to SDL 2 (by ada-game-framework)

    Look at the "Linking" section

    I'm looking into getting it all automated through pragma's and gpr's.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • How to install SDL2 on macOS

    2 projects | | 26 Jun 2024
  • Google's Pixel 8 series gets USB-C to DisplayPort; desktop mode rumors heat up

    1 project | | 11 Jun 2024
  • [11/52] OpenGL is Still Decent, Actually

    3 projects | | 29 May 2024
  • Running adb in a rootless Podman Distrobox container

    1 project | | 23 May 2024
  • 12to11 – run Wayland applications on an X server

    1 project | | 27 Apr 2024