Home

Awesome

Table of Contents

General information

The goal of this project is to collect various Docker images files (and images themselves) related to the Ada programming language. If you read this file on GitHub: please don't send pull requests here. All will be automatically closed. Any code propositions should go to the Fossil repository.

**INFO:**This project is no longer maintained. Feel free to clone it and take care about it.

Versioning

Each image uses as the version number the number of major version of the GNAT. Thus, for example, gnatgtk:9 means that image is based on the GNAT version 9.x. The SPARK image version number is the year of release of SPARK Discovery. For example, adaspark:2021 means that image contains SPARK Discovery from the year 2021.

Images list

At this moment available images are:

GNAT

The base image with GNAT FSF version and gprbuild for Linux 64bit. Based on the newest Ubuntu release. Using this doesn't require any special settings. Example:

sudo docker run -v $(pwd):/app ghcr.io/thindil/gnat:9 /bin/sh -c "gprbuild -P myproject.gpr"

GNAT-Gtk

The base image with GNAT FSF version, development version of GtkAda library and gprbuild for Linux 64bit. Based on the newest Ubuntu release. Same as the standard GNAT image, this doesn't require any special settings. Example:

sudo docker run -v $(pwd):/app ghcr.io/thindil/gnatgtk:9 /bin/sh -c "gprbuild -P myproject.gpr"

GNAT-Mingw64

The base image with GNAT MinGW 64bit FSF version and gprbuild. Based on the newest Ubuntu release. If you want to use any additional libraries, you will need to build them by yourself. At this moment this image wasn't too good tested, thus please report any problems with it. To use it, you will need to set up --target=x86_64-windows. Example:

sudo docker run -v $(pwd):/app ghcr.io/thindil/gnat-mingw64:9 /bin/sh -c "gprbuild -P myproject.gpr --target=x86_64-windows"

GNAT-ARM64

The base image with GNAT FSF version and gprbuild for Arm64 (aarch64) architecture. Based on the testing Debian release. If you want to use any additional library, you have to install it with suffix :arm64. Example: apt install tcl-dev:arm64. To use it, you will need to set up --target=aarch64-linux-gnu. Example:

sudo docker run -v $(pwd):/app ghcr.io/thindil/gnat-arm64:9 /bin/sh -c "gprbuild -P myproject.gpr --target=aarch64-linux-gnu"

GNAT-ARMv7

The base image with GNAT FSF version and gprbuild for armv7 (32 bit), example: Raspberry Pi. Based on the testing Debian release. If you want to use any additional library, you have to install it with suffix :armhf. Example: apt install libgtkada-dev:armhf. To use it, you will need to set up --target=arm-linux-gnueabihf. Example:

sudo docker run -v $(pwd):/app ghcr.io/thindil/gnat-arm7:9 /bin/sh -c "gprbuild -P myproject.gpr --target=arm-linux-gnueabihf"

Ada-Build

This is extended image for build some of my projects for Linux 64-bit. It contains:

Example usage:

sudo docker run -v $(pwd):/app ghcr.io/thindil/adabuild:9 /bin/sh -c "gprbuild -P myproject.gpr"

Ada-Build-Windows64

This is extended image for build some of my projects for Windows 64-bit. It contains:

Example usage:

sudo docker run -v $(pwd):/app ghcr.io/thindil/adabuildwin64:9 /bin/sh -c "gprbuild -P myproject.gpr --target=x86_64-windows"

Ada-Build-Raspberry-Pi

This is extended image for build some of my projects for Raspberry Pi (armv7). It contains:

Example usage:

sudo docker run -v $(pwd):/app ghcr.io/thindil/adabuildraspi:9 /bin/sh -c "gprbuild -P myproject.gpr --target=arm-linux-gnueabihf"

Ada-Spark

This image contains SPARK 2014 discovery. It is based on Debian stable image, it doesn't have Ada compiler installed. Can be used only to gnatprove a SPARK code.

Example usage:

sudo docker run -w /app -v $(pwd):/app ghcr.io/thindil/adaspark:2021 /bin/sh -c "gnatprove -P myproject.gpr"

AdaControl

This is an extended image to use AdaControl to check some of my projects. It contains:

Example usage:

sudo docker run -v $(pwd):/app ghcr.io/thindil/adacontrol:9 /bin/sh -c "adactl -P myproject.gpr -f myrules.aru"

Usage

To build any of these images, type in console in this same directory where files are:

docker build --file [filename] .

For example, to build just gnat version, type:

docker build --file Dockerfile.gnat .

You can also download some prepared images. They are available here:

https://github.com/thindil?tab=packages

Navigate to the selected Docker image to get more information how to use them.