I’m looking to use Ada 2022 within a Docker container for my project. I’ve searched on Docker Hub but couldn’t find an official Docker image specifically for Ada 2022. I also noticed that the thindil/dockerada GitHub repo, which previously provided community Docker files, appears to be archived.
Could anyone recommend current best practices or point me towards up-to-date Docker images or resources for working with Ada 2022 in a Docker environment?
I’m curious if there are any discussions or plans within the Ada community or by organizations to produce, maintain, and officially publish regularly updated (non-commercial) Docker images? It could be something like in Node.js, Python, etc:
For a single source of truth there needs to be a single source for the language (which is a bad idea, you want multiple compilers implemented ideally). For the GNAT compiler all you need is a docker image that imports in GCC and GNAT with a recent version (ideally v14 or v15, but I think maybe starting with v12). When you compile you’ll want to add the switch -gnat2022 for Ada2022 features.
Your first stop should probably be to to ping AdaCore about their docker image to see if they’ll update it: GitHub - AdaCore/gnat-docker
You can also maybe ping @mosteo and see if he is the maintainer of the docker hub instance here: https://hub.docker.com/r/alire/gnat and see if there are plans to update if he is.
There are some more recent ones out there on dockerhub but they are maintained by lots of other folks and I don’t know which versions of gcc/gnat they run.
When you have limited resources and time but lots of things to do, I can definitely see that happening. Docker images aren’t on the forefront of priorities in some areas and are usually based on demand.
The hard part about software development is you tend to end up in a situation where you have some demand (people wanting a resource), but not enough to prioritize the supply over other things. And in a lot of cases most folks aren’t initially interested in helping make updates, they just want the resource available.
So without a steady demand for docker images and lack of outside folks willing to do pull requests to update the docker image, I could see a two year lapse of updates. It can make sense financially for a business in this case, even if it is unfortunate to the outside world.
That said, it’s worth pinging AdaCore to see if they have an update they can push or if they can take the time to update it soon. If not, and if you have the time, perhaps you could fork the repo, make the necessary updates, and toss a pull request at them.
The same for the Alire one I mentioned (and that one might have a better chance at getting an update).
I think to make the community great, we all have to work together.
Sorry for all the long winded rambling. I’m not good at expressing thoughts, so I apologize if it doesn’t come across well.
Not at all, you’ve been very clear and you’ve given a lot of context. I really appreciate the explanations!
I will definitely try to put together something and ping some folks with a PR
Thank you again.