From 6161997f49d9fd3ec347a239737f27d25b06631b Mon Sep 17 00:00:00 2001 From: Omar Brikaa Date: Mon, 21 Feb 2022 14:48:43 +0200 Subject: [PATCH] Added ADA via GNAT 11.2.0 --- runtimes/default.nix | 1 + runtimes/gnat-ada.nix | 41 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 runtimes/gnat-ada.nix diff --git a/runtimes/default.nix b/runtimes/default.nix index 140fd83..47bd12f 100644 --- a/runtimes/default.nix +++ b/runtimes/default.nix @@ -51,4 +51,5 @@ args: { "gcc-fortran" = import ./gcc-fortran.nix args; "yabasic" = import ./yabasic.nix args; "emacs" = import ./emacs.nix args; + "gnat-ada" = import ./gnat-ada.nix args; } diff --git a/runtimes/gnat-ada.nix b/runtimes/gnat-ada.nix new file mode 100644 index 0000000..ef7695b --- /dev/null +++ b/runtimes/gnat-ada.nix @@ -0,0 +1,41 @@ +{pkgs, piston, ...}: +let + pkg = pkgs.gnat; +in piston.mkRuntime { + language = "ada"; + version = pkg.version; + runtime = "gnat"; + + aliases = [ + "adb" + "ads" + ]; + + compile = '' + ${pkg}/bin/gnatmake "$@" -o a.out + ''; + + run = '' + shift + ./a.out "$@" + ''; + + tests = [ + (piston.mkTest { + files = { + "test.adb" = '' + with Text_IO; use Text_IO; + with Ada.Command_line; use Ada.Command_Line; + procedure hello is + begin + Put_Line(Argument(1)); + end hello; + ''; + }; + args = ["OK"]; + stdin = ""; + packages = []; + main = "test.adb"; + }) + ]; +}