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 news.ycombinator.com

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.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • 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 "env.sh" 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.

    [1] https://www.getada.dev

    [2] https://rustup.rs/

    [3] https://github.com/aj-ianozi/getada

    [4] https://alire.ada.dev/

    [5] https://www.getada.dev/how-to-use-alire.html

    [6] https://programming.dev/comment/9438211

  • 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

    [1] https://github.com/alire-project/alire/releases

    [2] Here's roughly what the env file looks like that it creates https://github.com/AJ-Ianozi/getada/blob/main/src/shells.adb...

  • 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
  • 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.

  • SDLAda has been around for a while: https://github.com/Lucretia/sdlada

    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 https://github.com/xyproto/sdl2-examples.

    Raylib is cool, though.

  • learn

    Sources for learn.adacore.com (by AdaCore)

  • sdlada

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

  • Look at the "Linking" section https://github.com/ada-game-framework/sdlada

    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

  • 12to11 – run Wayland applications on an X server

    1 project | news.ycombinator.com | 27 Apr 2024
  • Show HN: Snake-inspired FOSS game Dungeon Rush playable in the browser

    2 projects | news.ycombinator.com | 11 Apr 2024
  • Revert "video: Prefer Wayland over X11 (take 2)"

    4 projects | news.ycombinator.com | 24 Mar 2024
  • Alire 2.0 Released

    1 project | news.ycombinator.com | 13 Mar 2024
  • Show HN: Play QuakeSpasm – a Quake game engine based on FitzQuake in the browser

    2 projects | news.ycombinator.com | 14 Jan 2024