New "reflective" catalog entries

This commit is contained in:
Alejandro R Mosteo
2018-04-30 10:52:43 +02:00
parent 66cadf1b3a
commit 3423b47b44
37 changed files with 77 additions and 90 deletions
+1 -2
View File
@@ -2,8 +2,7 @@ with Alire.Index.Liblua;
package Alire.Index.Ada_Lua is package Alire.Index.Ada_Lua is
function Project is new Catalogued_Project ("ada_lua", function Project is new Catalogued_Project ("An Ada binding for Lua");
"An Ada binding for Lua");
Prj_Repo : constant URL := "https://github.com/alire-project/ada-lua.git"; Prj_Repo : constant URL := "https://github.com/alire-project/ada-lua.git";
Prj_Maintainer : constant String := "AdaCore"; Prj_Maintainer : constant String := "AdaCore";
+2 -2
View File
@@ -2,8 +2,8 @@ with Alire.Index.NcursesAda;
package Alire.Index.Adacurses is package Alire.Index.Adacurses is
function Project is new Catalogued_Project ("adacurses", function Project is
"Wrapper on different packagings of NcursesAda"); new Catalogued_Project ("Wrapper on different packagings of NcursesAda");
Repo : constant String := "https://github.com/alire-project/adacurses-wrapper.git"; Repo : constant String := "https://github.com/alire-project/adacurses-wrapper.git";
+2 -3
View File
@@ -3,11 +3,10 @@ with Alire.Index.Simple_Components;
package Alire.Index.AdaYaml is package Alire.Index.AdaYaml is
function Project is new Catalogued_Project ("adayaml", function Project is
"Experimental YAML 1.3 implementation in Ada"); new Catalogued_Project ("Experimental YAML 1.3 implementation in Ada");
function Server is new Extension (Base => Project, function Server is new Extension (Base => Project,
X_Name => "server",
Description => "Server component"); Description => "Server component");
Prj_Repo : constant URL := "https://github.com/yaml/AdaYaml.git"; Prj_Repo : constant URL := "https://github.com/yaml/AdaYaml.git";
+2 -2
View File
@@ -3,8 +3,8 @@ with Alire.Index.Simple_Logging;
package Alire.Index.Alire is package Alire.Index.Alire is
function Project is new Catalogued_Project ("alire", function Project is
"Alire project catalog and support files"); new Catalogued_Project ("Alire project catalog and support files");
Repo : constant URL := "https://github.com/alire-project/alire.git"; Repo : constant URL := "https://github.com/alire-project/alire.git";
+2 -2
View File
@@ -3,8 +3,8 @@ with Alire.Index.Simple_Logging;
package Alire.Index.Alr is package Alire.Index.Alr is
function Project is new Catalogued_Project ("alr", function Project is
"Command-line tool from the Alire project"); new Catalogued_Project ("Command-line tool from the Alire project");
Repo : constant URL := "https://github.com/alire-project/alr.git"; Repo : constant URL := "https://github.com/alire-project/alr.git";
+2 -2
View File
@@ -1,7 +1,7 @@
package Alire.Index.APQ is package Alire.Index.APQ is
function Project is new Catalogued_Project ("apq", function Project is
"APQ Ada95 Database Library (core)"); new Catalogued_Project ("APQ Ada95 Database Library (core)");
Repo : constant URL := "https://github.com/alire-project/apq.git"; Repo : constant URL := "https://github.com/alire-project/apq.git";
+2 -2
View File
@@ -1,7 +1,7 @@
package Alire.Index.AUnit is package Alire.Index.AUnit is
function Project is new Catalogued_Project ("aunit", function Project is
"Ada unit test framework"); new Catalogued_Project ("Ada unit test framework");
Prj_Repo : constant URL := "https://github.com/alire-project/libaunit.git"; Prj_Repo : constant URL := "https://github.com/alire-project/libaunit.git";
+2 -2
View File
@@ -2,8 +2,8 @@ with Alire.Index.GtkAda;
package Alire.Index.Eagle_Lander is package Alire.Index.Eagle_Lander is
function Project is new Catalogued_Project ("eagle_lander", function Project is
"Apollo 11 lunar lander simulator (Ada/Gtk/Cairo)"); new Catalogued_Project ("Apollo 11 lunar lander simulator (Ada/Gtk/Cairo)");
Prj_Repo : constant URL := "https://github.com/alire-project/eagle-lander.git"; Prj_Repo : constant URL := "https://github.com/alire-project/eagle-lander.git";
Prj_Author : constant String := "Fabien Chouteau"; Prj_Author : constant String := "Fabien Chouteau";
+2 -2
View File
@@ -2,8 +2,8 @@ with Alire.Index.GLUT;
package Alire.Index.Globe_3D is package Alire.Index.Globe_3D is
function Project is new Catalogued_Project ("globe_3d", function Project is
"GL Object Based Engine for 3D in Ada"); new Catalogued_Project ("GL Object Based Engine for 3D in Ada");
Prj_Repo : constant URL := "https://github.com/svn2github/GLOBE_3D.git"; Prj_Repo : constant URL := "https://github.com/svn2github/GLOBE_3D.git";
Prj_Author : constant String := "Gautier de Montmollin"; Prj_Author : constant String := "Gautier de Montmollin";
+2 -2
View File
@@ -1,7 +1,7 @@
package Alire.Index.Hangman is package Alire.Index.Hangman is
function Project is new Catalogued_Project ("hangman", function Project is
"Hangman game for the console"); new Catalogued_Project ("Hangman game for the console");
Prj_Repo : constant URL := "https://github.com/alire-project/Hangman.git"; Prj_Repo : constant URL := "https://github.com/alire-project/Hangman.git";
Prj_Author : constant String := "Jon Hollan, Mark Hoffman, & Brandon Ball"; Prj_Author : constant String := "Jon Hollan, Mark Hoffman, & Brandon Ball";
+2 -2
View File
@@ -2,8 +2,8 @@ with Alire.Index.Libhello;
package Alire.Index.Hello is package Alire.Index.Hello is
function Project is new Catalogued_Project ("hello", function Project is
"""Hello, world!"" demonstration project"); new Catalogued_Project ("""Hello, world!"" demonstration project");
Repo : constant URL := "https://github.com/alire-project/hello.git"; Repo : constant URL := "https://github.com/alire-project/hello.git";
+2 -2
View File
@@ -2,8 +2,8 @@ with Alire.Index.AUnit;
package Alire.Index.Libadacrypt is package Alire.Index.Libadacrypt is
function Project is new Catalogued_Project ("libadacrypt", function Project is
"A crypto library for Ada with a nice API"); new Catalogued_Project ("A crypto library for Ada with a nice API");
Prj_Repo : constant URL := "https://github.com/alire-project/Ada-Crypto-Library.git"; Prj_Repo : constant URL := "https://github.com/alire-project/Ada-Crypto-Library.git";
Prj_Author : constant String := "Christian Forler"; Prj_Author : constant String := "Christian Forler";
+3 -2
View File
@@ -1,7 +1,8 @@
package Alire.Index.Libhello is package Alire.Index.Libhello is
function Project is new Catalogued_Project ("libhello", function Project is
"""Hello, world!"" demonstration project support library"); new Catalogued_Project
("""Hello, world!"" demonstration project support library");
Repo : constant URL := "https://github.com/alire-project/libhello.git"; Repo : constant URL := "https://github.com/alire-project/libhello.git";
+3 -2
View File
@@ -1,7 +1,8 @@
package Alire.Index.Mathpaqs is package Alire.Index.Mathpaqs is
function Project is new Catalogued_Project ("mathpaqs", function Project is
"A collection of mathematical, 100% portable, packages"); new Catalogued_Project
("A collection of mathematical, 100% portable, packages");
Prj_Repo : constant URL := "https://github.com/svn2github/Mathpaqs.git"; Prj_Repo : constant URL := "https://github.com/svn2github/Mathpaqs.git";
Prj_Author : constant String := "Gautier de Montmollin"; Prj_Author : constant String := "Gautier de Montmollin";
+2 -2
View File
@@ -3,8 +3,8 @@ with Alire.Index.LibX11;
package Alire.Index.OpenGLAda is package Alire.Index.OpenGLAda is
function Project is new Catalogued_Project ("openglada", function Project is
"Thick Ada binding for OpenGL and GLFW"); new Catalogued_Project ("Thick Ada binding for OpenGL and GLFW");
Prj_Repo : constant URL := "https://github.com/flyx/OpenGLAda.git"; Prj_Repo : constant URL := "https://github.com/flyx/OpenGLAda.git";
Prj_Author : constant String := "Felix Krause <contact@flyx.org>"; Prj_Author : constant String := "Felix Krause <contact@flyx.org>";
+2 -2
View File
@@ -1,7 +1,7 @@
package Alire.Index.PragmARC is package Alire.Index.PragmARC is
function Project is new Catalogued_Project ("pragmarc", function Project is
"PragmAda Reusable Components (PragmARCs)"); new Catalogued_Project ("PragmAda Reusable Components (PragmARCs)");
Repo : constant URL := "https://github.com/alire-project/PragmARC.git"; Repo : constant URL := "https://github.com/alire-project/PragmARC.git";
Auth : constant String := "Jeffrey R. Carter"; Auth : constant String := "Jeffrey R. Carter";
+2 -2
View File
@@ -1,7 +1,7 @@
package Alire.Index.RxAda is package Alire.Index.RxAda is
function Project is new Catalogued_Project ("rxada", function Project is
"RxAda port of the Rx framework"); new Catalogued_Project ("RxAda port of the Rx framework");
Repo : constant URL := "https://bitbucket.org/amosteo/rxada"; Repo : constant URL := "https://bitbucket.org/amosteo/rxada";
+2 -2
View File
@@ -2,8 +2,8 @@ with Alire.Index.LibSDL2;
package Alire.Index.SDLAda is package Alire.Index.SDLAda is
function Project is new Catalogued_Project ("sdlada", function Project is
"Ada 2012 bindings to SDL 2"); new Catalogued_Project ("Ada 2012 bindings to SDL 2");
Prj_Repo : constant URL := "https://github.com/alire-project/sdlada.git"; Prj_Repo : constant URL := "https://github.com/alire-project/sdlada.git";
Prj_Author : constant String := "Luke A. Guest"; Prj_Author : constant String := "Luke A. Guest";
+2 -2
View File
@@ -1,7 +1,7 @@
package Alire.Index.Semantic_Versioning is package Alire.Index.Semantic_Versioning is
function Project is new Catalogued_Project ("semantic_versioning", function Project is
"Semantic Versioning in Ada"); new Catalogued_Project ("Semantic Versioning in Ada");
Repo : constant URL := "https://github.com/alire-project/semantic_versioning.git"; Repo : constant URL := "https://github.com/alire-project/semantic_versioning.git";
+2 -10
View File
@@ -9,8 +9,8 @@ package Alire.Index.Simple_Components is
DAK_Author : constant String := "Dmitry A. Kazakov"; DAK_Author : constant String := "Dmitry A. Kazakov";
DAK_Website : constant String := "http://www.dmitry-kazakov.de/ada/components.htm"; DAK_Website : constant String := "http://www.dmitry-kazakov.de/ada/components.htm";
function Project is new Catalogued_Project ("simple_components", function Project is
"Simple Components (root project)"); new Catalogued_Project ("Simple Components (root project)");
-- This is a special project because it contains no code. -- This is a special project because it contains no code.
-- The first usable extension is Strings_Edit -- The first usable extension is Strings_Edit
-- Having this one though is better for canonical name and listing -- Having this one though is better for canonical name and listing
@@ -18,35 +18,27 @@ package Alire.Index.Simple_Components is
-- NOTE: since all extensions reside in the same commit/folder, there's no need for interdependencies -- NOTE: since all extensions reside in the same commit/folder, there's no need for interdependencies
function Strings_Edit is new Extension (Project, function Strings_Edit is new Extension (Project,
"strings_edit",
"Simple Components (strings)"); "Simple Components (strings)");
function Tables is new Extension (Project, function Tables is new Extension (Project,
"tables",
"Simple Components (tables)"); "Simple Components (tables)");
function Core is new Extension (Project, function Core is new Extension (Project,
"core",
"Simple Components (core components)"); "Simple Components (core components)");
function Connections is new Extension (Project, function Connections is new Extension (Project,
"connections",
"Simple Components (clients/servers)"); "Simple Components (clients/servers)");
function Secure is new Extension (Connections, function Secure is new Extension (Connections,
"secure",
"Simple Components (clients/servers over TLS)"); "Simple Components (clients/servers over TLS)");
function NTP is new Extension (Connections, function NTP is new Extension (Connections,
"ntp",
"Simple Components (Network Time Protocol)"); "Simple Components (Network Time Protocol)");
function ODBC is new Extension (Project, function ODBC is new Extension (Project,
"odbc",
"Simple Components (ODBC bindings)"); "Simple Components (ODBC bindings)");
function SQLite is new Extension (Project, function SQLite is new Extension (Project,
"sqlite",
"Simple Components (SQLite)"); "Simple Components (SQLite)");
Base_V_4_27 : constant Release := Base_V_4_27 : constant Release :=
+1 -2
View File
@@ -1,7 +1,6 @@
package Alire.Index.Simple_Logging is package Alire.Index.Simple_Logging is
function Project is new Catalogued_Project ("simple_logging", function Project is new Catalogued_Project ("Simple logging to console");
"Simple logging to console");
Repo : constant URL := "https://github.com/alire-project/simple_logging.git"; Repo : constant URL := "https://github.com/alire-project/simple_logging.git";
+2 -2
View File
@@ -3,8 +3,8 @@ with Alire.Index.GtkAda;
package Alire.Index.Steamsky is package Alire.Index.Steamsky is
function Project is new Catalogued_Project ("steamsky", function Project is
"Roguelike in sky with steampunk theme"); new Catalogued_Project ("Roguelike in sky with steampunk theme");
Prj_Repo : constant URL := "https://github.com/thindil/steamsky.git"; Prj_Repo : constant URL := "https://github.com/thindil/steamsky.git";
+1 -2
View File
@@ -1,8 +1,7 @@
package Alire.Index.Template is package Alire.Index.Template is
-- function Project is new Catalogued_Project -- function Project is new Catalogued_Project
-- ("name", -- ("description");
-- "description");
-- --
-- Repo : constant URL := ""; -- Repo : constant URL := "";
-- --
+2 -2
View File
@@ -2,8 +2,8 @@ with Alire.Index.Make;
package Alire.Index.Whitakers_Words is package Alire.Index.Whitakers_Words is
function Project is new Catalogued_Project ("whitakers_words", function Project is
"William Whitaker's WORDS, a Latin dictionary"); new Catalogued_Project ("William Whitaker's WORDS, a Latin dictionary");
Prj_Repo : constant URL := "https://github.com/mk270/whitakers-words.git"; Prj_Repo : constant URL := "https://github.com/mk270/whitakers-words.git";
Prj_Author : constant String := "William A. Whitaker"; Prj_Author : constant String := "William A. Whitaker";
+1 -2
View File
@@ -1,8 +1,7 @@
package Alire.Index.XML_EZ_Out is package Alire.Index.XML_EZ_Out is
function Project is new Catalogued_Project function Project is new Catalogued_Project
("xml_ez_out", ("Creation of XML-formatted output from Ada programs");
"Creation of XML-formatted output from Ada programs");
Repo : constant URL := "https://github.com/alire-project/xmlezout.git"; Repo : constant URL := "https://github.com/alire-project/xmlezout.git";
+1 -2
View File
@@ -1,7 +1,6 @@
package Alire.Index.GLUT is package Alire.Index.GLUT is
function Project is new Catalogued_Project ("glut", function Project is new Catalogued_Project ("OpenGL Utility Toolkit");
"OpenGL Utility Toolkit");
V_2_8_1 : constant Release := V_2_8_1 : constant Release :=
Project.Register Project.Register
+1 -2
View File
@@ -2,8 +2,7 @@ with Alire.Index.GNAT;
package Alire.Index.GtkAda is package Alire.Index.GtkAda is
function Project is new Catalogued_Project ("gtkada", function Project is new Catalogued_Project ("Ada binding for the GTK+ GUI");
"Ada binding for the GTK+ GUI");
V_17 : constant Release := V_17 : constant Release :=
Project.Register Project.Register
+2 -2
View File
@@ -1,7 +1,7 @@
package Alire.Index.Libglfw3 is package Alire.Index.Libglfw3 is
function Project is new Catalogued_Project ("libglfw3", function Project is new Catalogued_Project
"Portable library for OpenGL, window and input"); ("Portable library for OpenGL, window and input");
V_3 : constant Release := V_3 : constant Release :=
Project.Register Project.Register
+1 -2
View File
@@ -1,7 +1,6 @@
package Alire.Index.LibGNUTLS is package Alire.Index.LibGNUTLS is
function Project is new Catalogued_Project ("libgnutls", function Project is new Catalogued_Project ("GNU TLS library");
"GNU TLS library");
V_3_5_8 : constant Release := V_3_5_8 : constant Release :=
Project.Register Project.Register
+2 -2
View File
@@ -1,7 +1,7 @@
package Alire.Index.Liblua is package Alire.Index.Liblua is
function Project is new Catalogued_Project ("liblua", function Project is new Catalogued_Project
"Development files for the Lua language"); ("Development files for the Lua language");
V_5_3 : constant Release := V_5_3 : constant Release :=
Project.Register Project.Register
+8 -8
View File
@@ -1,15 +1,15 @@
package Alire.Index.LibSDL2 is package Alire.Index.LibSDL2 is
function Project is new Catalogued_Project ("libsdl2", function Project is new Catalogued_Project
"Simple DirectMedia Layer development files"); ("Simple DirectMedia Layer development files");
function Image is new Extension (Project, function Image is new Extension
"image", (Project,
"Image loading library for Simple DirectMedia Layer 2"); "Image loading library for Simple DirectMedia Layer 2");
function TTF is new Extension (Project, function TTF is new Extension
"ttf", (Project,
"TrueType Font library for Simple DirectMedia Layer 2"); "TrueType Font library for Simple DirectMedia Layer 2");
SDL_V_2 : constant Release := SDL_V_2 : constant Release :=
Project.Register Project.Register
+1 -2
View File
@@ -1,7 +1,6 @@
package Alire.Index.LibX11 is package Alire.Index.LibX11 is
function Project is new Catalogued_Project ("libx11", function Project is new Catalogued_Project ("X11 client-side library");
"X11 client-side library");
V_2 : constant Release := V_2 : constant Release :=
Project.Register Project.Register
+2 -2
View File
@@ -1,7 +1,7 @@
package Alire.Index.Make is package Alire.Index.Make is
function Project is new Catalogued_Project ("make", function Project is new Catalogued_Project
"Utility for directing compilation"); ("Utility for directing compilation");
V_Native : constant Release := V_Native : constant Release :=
Project.Register (V ("0"), Project.Register (V ("0"),
+2 -1
View File
@@ -1,6 +1,7 @@
package Alire.Index.Native_Template is package Alire.Index.Native_Template is
-- function Project is new Catalogued_Project ("name", "description"); -- function Project is new Catalogued_Project
-- ("description");
-- V : constant Release := -- V : constant Release :=
-- Project.Register (V (""), -- Project.Register (V (""),
+2 -2
View File
@@ -1,7 +1,7 @@
package Alire.Index.NcursesAda is package Alire.Index.NcursesAda is
function Project is new Catalogued_Project ("ncursesada", function Project is
"Ada binding to the ncurses text interface library"); new Catalogued_Project ("Ada binding to the ncurses text interface library");
V_6 : constant Release := V_6 : constant Release :=
Project.Register Project.Register
+2 -2
View File
@@ -1,7 +1,7 @@
package Alire.Index.UnixODBC is package Alire.Index.UnixODBC is
function Project is new Catalogued_Project ("unixodbc", function Project is new Catalogued_Project
"Open Database Connectivity drivers for UNIX platforms"); ("Open Database Connectivity drivers for UNIX platforms");
V_2_3 : constant Release := V_2_3 : constant Release :=
Project.Register Project.Register
+5 -4
View File
@@ -33,22 +33,23 @@ package Alire.Index is
type Catalog_Entry (<>) is new Versions.Comparable with private; type Catalog_Entry (<>) is new Versions.Comparable with private;
-- Used to force the declaration of a single variable to refer to a project in index specs -- Used to force the declaration of a single variable to refer to a project in index specs
-- NOTE that the following generics internally use GNAT.Source_Info to
-- ascertain the package and project names.
-- This is probably the hardest GNAT dependency all around,
-- but at the same time avoids manual duplication and chance of error.
generic generic
X_Project : Alire.Project;
Description : Description_String; Description : Description_String;
X_Package_Name : String := +X_Project; -- Override if not matching
-- For internal use: -- For internal use:
First_Use : access Boolean := new Boolean'(True); First_Use : access Boolean := new Boolean'(True);
function Catalogued_Project return Catalog_Entry; function Catalogued_Project return Catalog_Entry;
-- A regular project -- A regular project
-- See above note on Catalog_Entry
generic generic
with function Base return Catalog_Entry; with function Base return Catalog_Entry;
X_Name : Alire.Project;
Description : Description_String; Description : Description_String;
X_Ada_Identifier : String := +X_Name;
-- For internal use -- For internal use
First_Use : access Boolean := new Boolean'(True); First_Use : access Boolean := new Boolean'(True);