Moved to new registration framework

This commit is contained in:
Alejandro R. Mosteo
2018-03-11 22:42:30 +01:00
parent 0af8323d1e
commit e637c27bca
38 changed files with 1021 additions and 822 deletions
+18 -17
View File
@@ -2,32 +2,33 @@ with Alire.Index.Liblua;
package Alire.Index.Ada_Lua is
Prj_Repo : constant URL := "https://github.com/alire-project/ada-lua.git";
function Project is new Catalogued_Project (Projects.Ada_Lua);
Prj_Repo : constant URL := "https://github.com/alire-project/ada-lua.git";
Prj_Maintainer : constant String := "AdaCore";
Prj_Website : constant URL := "https://github.com/AdaCore/ada-lua";
V_0_0_0 : constant Release :=
Register (Projects.Ada_Lua,
V ("0.0.0-5.3"),
Git (Prj_Repo, "ba2fcbf9f8d54d3f6362f20523deb4371371f658"),
Project.Register
(V ("0.0.0-5.3"),
Git (Prj_Repo, "ba2fcbf9f8d54d3f6362f20523deb4371371f658"),
Dependencies =>
Within_Major (Liblua.V_5_3),
Dependencies =>
Liblua.V_5_3.Within_Major,
Properties =>
Project_File ("lua.gpr") and
Properties =>
Project_File ("lua.gpr") and
Executable ("main") and
Executable ("main") and
Maintainer (Prj_Maintainer) and
Website (Prj_Website) and
License (GPL_3_0),
Maintainer (Prj_Maintainer) and
Website (Prj_Website) and
License (GPL_3_0),
Private_Properties =>
GPR_File ("lua.gpr") and
GPR_File ("examples/example1/example1.gpr") and
GPR_File ("examples/example2/example2.gpr")
);
Private_Properties =>
GPR_File ("lua.gpr") and
GPR_File ("examples/example1/example1.gpr") and
GPR_File ("examples/example2/example2.gpr")
);
end Alire.Index.Ada_Lua;
+24 -22
View File
@@ -2,6 +2,8 @@ with Alire.Index.NcursesAda;
package Alire.Index.Adacurses is
function Project is new Catalogued_Project (Projects.Adacurses);
Repo : constant String := "https://github.com/alire-project/adacurses-wrapper.git";
Comments : constant Conditional.Properties :=
@@ -10,33 +12,33 @@ package Alire.Index.Adacurses is
Comment ("This package wraps these differences so clients can always safely use adacurses");
V_6 : constant Release :=
Register (Projects.Adacurses,
V ("6.0+20170708-2"),
Git (Repo, "4ccb20409becb50c0b5fd29effb676b650608326"),
Project.Register
(V ("6.0+20170708-2"),
Git (Repo, "4ccb20409becb50c0b5fd29effb676b650608326"),
Dependencies =>
On_Condition
(Distribution = Debian or Distribution = Ubuntu,
When_True => When_Available (Within_Major (NcursesAda.V_5)),
When_False => Unavailable),
Dependencies =>
On_Condition
(Distribution = Debian or Distribution = Ubuntu,
When_True => When_Available (NcursesAda.V_5.Within_Major),
When_False => Unavailable),
Properties =>
Comments
);
Properties =>
Comments
);
V_5_9 : constant Release :=
Register (Projects.Adacurses,
V ("5.9+20140726-1build1"),
Git (Repo, "4ccb20409becb50c0b5fd29effb676b650608326"),
Project.Register
(V ("5.9+20140726-1build1"),
Git (Repo, "4ccb20409becb50c0b5fd29effb676b650608326"),
Dependencies =>
On_Condition
(Distribution = Debian or Distribution = Ubuntu,
When_True => When_Available (Within_Major (NcursesAda.V_3)),
When_False => Unavailable),
Dependencies =>
On_Condition
(Distribution = Debian or Distribution = Ubuntu,
When_True => When_Available (NcursesAda.V_3.Within_Major),
When_False => Unavailable),
Properties =>
Comments
);
Properties =>
Comments
);
end Alire.Index.Adacurses;
+66 -66
View File
@@ -3,88 +3,88 @@ with Alire.Index.Simple_Logging;
package Alire.Index.Alire is
Repo : constant URL := "https://bitbucket.org/aleteolabs/alire.git";
function Project is new Catalogued_Project (Projects.Alire);
Repo : constant URL := "https://bitbucket.org/aleteolabs/alire.git";
V_0_1_2 : constant Release :=
Register (Projects.Alire,
V ("0.1.2"),
Git (Repo, "e2dee2e147ae9e4d666567b53b108cbe61bc06e8"),
Dependencies =>
Within_Minor (Semantic_Versioning.V_0_1_2) and
Within_Major (Simple_Logging.V_1_0_0)
);
Project.Register
(V ("0.1.2"),
Git (Repo, "e2dee2e147ae9e4d666567b53b108cbe61bc06e8"),
Dependencies =>
Semantic_Versioning.V_0_1_2.Within_Minor and
Simple_Logging.V_1_0_0.Within_Major);
function Example_Project is new Catalogued_Project (Projects.Alire_Reserved);
Elite_Dangerous,
Half_Life_3,
Star_Citizen,
Windows_100 : constant Projects.Names := Alire_Reserved;
Windows_100 : Catalog_Entry;
-- A few fake release to spice descriptions a bit up.
Syntax_Example : constant Release :=
Register (Projects.Alire_Reserved,
V ("1.0.0"),
Origins.New_Filesystem ("/alire"),
Syntax_Example : constant Release := Example_Project.Register
(V ("1.0.0"),
Origins.New_Filesystem ("/alire"),
Dependencies =>
Half_Life_3.Current and -- unconditional
On_Condition -- conditional
(Operating_System = GNU_Linux,
When_True => Elite_Dangerous >= "2.0" and Star_Citizen >= V ("3.0"), -- Wish...
When_False => Windows_100 > V ("1.0")) and
When_Available -- Chained preferences
(Preferred => Within_Major (Alire.Project, V ("1.0")), -- as function
Otherwise => Alire.Project.Within_Major (V ("0.0"))) and -- or dot notation
When_Available -- Chained preferences
(Preferred => Alire.Project.Within_Major ("2.0"),
Otherwise => When_Available -- Chained preferences multi-level
(Preferred => Within_Major (Alire.Project, V ("1.0")),
Otherwise => Alire.Project.Within_Major ("0.5"))), -- V () is optional
Dependencies =>
Current (Half_Life_3) and -- unconditional
On_Condition -- conditional
(Operating_System = GNU_Linux,
When_True => At_Least (Elite_Dangerous, V ("2.0")) and
At_Least (Star_Citizen, V ("3.0")), -- Wish...
When_False => At_Least (Windows_100, V ("1.0"))) and
When_Available -- Chained preferences
(Preferred => Within_Major (Projects.Alire, V ("1.0")),
Otherwise => Within_Major (Projects.Alire, V ("0.0"))) and
When_Available -- Chained preferences
(Preferred => Within_Major (Projects.Alire, V ("2.0")),
Otherwise => When_Available -- Chained preferences multi-level
(Preferred => Within_Major (Projects.Alire, V ("1.0")),
Otherwise => Within_Major (Projects.Alire, V ("0.5")))),
Private_Properties => -- These are only interesting to alr, not users
GPR_External ("Profile", "False"),
-- Sample extra params for build
Private_Properties => -- These are only interesting to alr, not users
GPR_External ("Profile", "False"),
-- Sample extra params for build
Properties =>
GPR_Scenario ("Build", "Debug" or "Release") and
GPR_Free_Scenario ("Path_To_Something") and
-- Known scenario variables
Properties =>
GPR_Scenario ("Build", "Debug" or "Release") and
GPR_Free_Scenario ("Path_To_Something") and
-- Known scenario variables
GPR_File ("scenarios/catastrophical.gpr") and
-- Way to specify a project file not named like the project
-- Path separators are always "/" and internally converted to native ones
GPR_File ("scenarios/catastrophical.gpr") and
-- Way to specify a project file not named like the project
-- Path separators are always "/" and internally converted to native ones
On_Condition
(Operating_System = Windows,
GPR_File ("project_win.gpr")) and
On_Condition
(Operating_System = GNU_Linux,
On_Condition (Distribution = Ubuntu, -- Nested conditions
GPR_File ("project_ubuntu.gpr"))) and
-- Conditional project file
On_Condition
(Operating_System = Windows,
GPR_File ("project_win.gpr")) and
On_Condition
(Operating_System = GNU_Linux,
On_Condition (Distribution = Ubuntu, -- Nested conditions
GPR_File ("project_ubuntu.gpr"))) and
-- Conditional project file
On_Condition
(Operating_System = GNU_Linux,
Comment ("Long life the penguin")) and
-- Conditions on operating system
On_Condition
(Operating_System = GNU_Linux,
Comment ("Long life the penguin")) and
-- Conditions on operating system
On_Condition
(Compiler = GNAT_Unknown, -- /= also works
Comment ("Never saw that compiler") and Comment ("But I would like to")) and
-- Conditions on compiler version
On_Condition
(Compiler = GNAT_Unknown, -- /= also works
Comment ("Never saw that compiler") and Comment ("But I would like to")) and
-- Conditions on compiler version
On_Condition
(Distro_Release = Ubuntu_Artful,
When_True => Comment ("Living on the edge"),
When_False => Comment ("I am a rock")) and
-- Conditions on distribution release
On_Condition
(Distro_Release = Ubuntu_Artful,
When_True => Comment ("Living on the edge"),
When_False => Comment ("I am a rock")) and
-- Conditions on distribution release
Comment ("Tell me about your mother") and
Website ("http://www.www.www"),
-- Unconditional properties
Comment ("Tell me about your mother") and
Website ("http://www.www.www"),
-- Unconditional properties
Available_When => -- Impossible mix
(Operating_System = Windows and Operating_System /= GNU_Linux) or
(Compiler = GNAT_Unknown and Compiler /= GNAT_Unknown));
Available_When => -- Impossible mix
(Operating_System = Windows and Operating_System /= GNU_Linux) or
(Compiler = GNAT_Unknown and Compiler /= GNAT_Unknown));
end Alire.Index.Alire;
+9 -7
View File
@@ -3,14 +3,16 @@ with Alire.Index.Simple_Logging;
package Alire.Index.Alr is
Repo : constant URL := "https://bitbucket.org/aleteolabs/alr.git";
function Project is new Catalogued_Project (Projects.Alr);
Repo : constant URL := "https://bitbucket.org/aleteolabs/alr.git";
V_0_1_2 : constant Release :=
Register (Projects.Alr,
V ("0.1.2"),
Git (Repo, "4002536beea8aee12b455077df4dd144b409bde4"),
Dependencies =>
Within_Major (Alire.V_0_1_2) and
Within_Major (Simple_Logging.V_1_0_0));
Project.Register
(V ("0.1.2"),
Git (Repo, "4002536beea8aee12b455077df4dd144b409bde4"),
Dependencies =>
Alire.V_0_1_2.Within_Minor and
Simple_Logging.V_1_0_0.Within_Major);
end Alire.Index.Alr;
+15 -13
View File
@@ -1,21 +1,23 @@
package Alire.Index.APQ is
Repo : constant URL := "https://github.com/alire-project/apq.git";
function Project is new Catalogued_Project (Projects.APQ);
Repo : constant URL := "https://github.com/alire-project/apq.git";
V_3_2_0 : constant Release :=
Register (Projects.APQ,
V ("3.2.0"),
Git (Repo, "3b5b4b99f528f853e02abf239da7db3d8c9962b4"),
Properties =>
GPR_Scenario ("OS", "Windows_NT" or "GNU/Linux" or "Darwin") and
GPR_Scenario ("DEBUG", "true" or "false") and
Project.Register
(V ("3.2.0"),
Git (Repo, "3b5b4b99f528f853e02abf239da7db3d8c9962b4"),
Properties =>
GPR_Scenario ("OS", "Windows_NT" or "GNU/Linux" or "Darwin") and
GPR_Scenario ("DEBUG", "true" or "false") and
License (GMGPL_2_0) and
License (GMGPL_3_0),
License (GMGPL_2_0) and
License (GMGPL_3_0),
Private_Properties =>
GPR_File ("apq.gpr") and
GPR_File ("samples/apq-samples.gpr")
);
Private_Properties =>
GPR_File ("apq.gpr") and
GPR_File ("samples/apq-samples.gpr")
);
end Alire.Index.APQ;
+32 -30
View File
@@ -1,43 +1,45 @@
package Alire.Index.AUnit is
function Project is new Catalogued_Project (Projects.AUnit);
Prj_Repo : constant URL := "https://github.com/alire-project/libaunit.git";
Prj_Maintainer : constant String := "AdaCore";
Prj_Website : constant URL := "https://www.adacore.com/download/more";
V_2017 : constant Release :=
Register (Projects.AUnit,
V ("2017"),
Git (Prj_Repo, "b66a41ceb35bfc81b9345655c5f46317a57de3b4"),
Properties =>
GPR_Scenario ("RUNTIME",
"full" or "zfp" or "ravenscar" or "ravenscar-cert" or "cert") and
Project.Register
(V ("2017"),
Git (Prj_Repo, "b66a41ceb35bfc81b9345655c5f46317a57de3b4"),
Properties =>
GPR_Scenario ("RUNTIME",
"full" or "zfp" or "ravenscar" or "ravenscar-cert" or "cert") and
Executable ("aunit_harness") and
Executable ("run-ppc-elf") and
Executable ("test_liskov") and
Executable ("test_calculator") and
Executable ("test_math") and
Executable ("aunit_harness") and
Executable ("run-ppc-elf") and
Executable ("test_liskov") and
Executable ("test_calculator") and
Executable ("test_math") and
Maintainer (Prj_Maintainer) and
Website (Prj_Website) and
License (GPL_3_0),
Maintainer (Prj_Maintainer) and
Website (Prj_Website) and
License (GPL_3_0),
Private_Properties =>
GPR_File ("aunit.gpr") and
GPR_File ("test/aunit_tests.gpr") and
Private_Properties =>
GPR_File ("aunit.gpr") and
GPR_File ("test/aunit_tests.gpr") and
GPR_File ("examples/calculator/harness.gpr") and
GPR_File ("examples/calculator/tested_lib/testlib.gpr") and
GPR_File ("examples/failures/harness.gpr") and
GPR_File ("examples/failures/tested_lib/testlib.gpr") and
GPR_File ("examples/liskov/harness.gpr") and
GPR_File ("examples/liskov/tested_lib/testlib.gpr") and
GPR_File ("examples/simple_test/harness.gpr") and
GPR_File ("examples/simple_test/tested_lib/testlib.gpr") and
GPR_File ("examples/test_caller/harness/harness.gpr") and
GPR_File ("examples/test_caller/tested_lib/testlib.gpr") and
GPR_File ("examples/test_fixture/harness.gpr") and
GPR_File ("examples/test_fixture/tested_lib/testlib.gpr")
);
GPR_File ("examples/calculator/harness.gpr") and
GPR_File ("examples/calculator/tested_lib/testlib.gpr") and
GPR_File ("examples/failures/harness.gpr") and
GPR_File ("examples/failures/tested_lib/testlib.gpr") and
GPR_File ("examples/liskov/harness.gpr") and
GPR_File ("examples/liskov/tested_lib/testlib.gpr") and
GPR_File ("examples/simple_test/harness.gpr") and
GPR_File ("examples/simple_test/tested_lib/testlib.gpr") and
GPR_File ("examples/test_caller/harness/harness.gpr") and
GPR_File ("examples/test_caller/tested_lib/testlib.gpr") and
GPR_File ("examples/test_fixture/harness.gpr") and
GPR_File ("examples/test_fixture/tested_lib/testlib.gpr")
);
end Alire.Index.AUnit;
-283
View File
@@ -1,283 +0,0 @@
with Alire.Index.LibGNUTLS;
with Alire.Index.UnixODBC;
package Alire.Index.DAK is
-- Simple Components by Dmitry A. Kazakov
-- This library is a good challenge since it has many subprojects
-- It prompted the introduction of the GPR_File property
-- Since most project names are common words, I've taken the liberty to prefix them with dak_
-- but the original sources are unchanged.
Repo : constant URL := "https://github.com/alire-project/dak_simple_components.git";
DAK_Author : constant String := "Dmitry A. Kazakov";
DAK_Website : constant String := "http://www.dmitry-kazakov.de/ada/components.htm";
Strings_Edit_V_4_27 : constant Release :=
Register (DAK_Strings_Edit,
V ("4.27"),
Git (Repo, "8ac67a28d666dde3a0f96b5a08a7016e4f29d491"),
Properties =>
Project_File ("strings_edit.gpr") and
GPR_Scenario ("Legacy", "Ada95" or "Ada2005" or "Ada2012") and
GPR_Scenario ("Development", "Debug" or "Release") and
Executable ("test_base64") and
Executable ("test_strings_edit") and
Executable ("test_string_streams") and
License (GMGPL_2_0) and
Author (DAK_Author) and
Website (DAK_Website),
Private_Properties =>
GPR_File ("strings_edit.gpr") and
GPR_File ("test_strings_edit/strings_edit-test.gpr")
);
Tables_V_4_27 : constant Release :=
Register (DAK_Tables,
V ("4.27"),
Git (Repo, "19205e4981d72242daf72da7d59c5faf2b4c91fd"),
Properties =>
Project_File ("tables.gpr") and
GPR_Scenario ("Legacy", "Ada95" or "Ada2005" or "Ada2012") and
GPR_Scenario ("Development", "Debug" or "Release") and
Executable ("test_tables") and
License (GMGPL_2_0) and
Author (DAK_Author) and
Website (DAK_Website),
Private_Properties =>
GPR_File ("tables.gpr") and
GPR_File ("test_tables/tables-test.gpr")
);
Components_V_4_27 : constant Release :=
Register (DAK_Components,
V ("4.27"),
Git (Repo, "542f02c9be86693f759fcb784a8462bc4b25f1f2"),
Dependencies =>
Within_Major (Strings_Edit_V_4_27) and
Within_Major (Tables_V_4_27),
Properties =>
Project_File ("components.gpr") and
GPR_Scenario ("Atomic_Access", "Pragma-atomic" or "GCC-built-ins" or "GCC-long-offsets") and
GPR_Scenario ("Tasking", "Multiple" or "Single") and
GPR_Scenario ("Traced_objects", "Off" or "On") and
Executable ("test_approximations") and
Executable ("test_association") and
Executable ("test_blackboard") and
Executable ("test_blackboard_performance") and
Executable ("test_blocking_files") and
Executable ("test_block_streams") and
Executable ("test_b_trees") and
Executable ("test_cubic_spline") and
Executable ("test_dining_philosophers") and
Executable ("test_fifo") and
Executable ("test_generic_indefinite_sets") and
Executable ("test_generic_maps") and
Executable ("test_generic_sets") and
Executable ("test_graphs") and
Executable ("test_handles") and
Executable ("test_ieee_754") and
Executable ("test_linked_lists") and
Executable ("test_linked_lists_scheduler_test") and
Executable ("test_parser_stream_io") and
Executable ("test_persistent_memory_pool") and
Executable ("test_persistent_storage") and
Executable ("test_sequencer") and
Executable ("test_single_file_persistence") and
Executable ("test_stack") and
Executable ("test_storage_streams") and
Executable ("test_string_streams") and
Executable ("test_synchronization_events") and
Executable ("test_transactional_blocking_files") and
Executable ("test_utf8_tables") and
License (GMGPL_2_0) and
Author (DAK_Author) and
Website (DAK_Website) and
Comment ("Tasking=Single seems to be broken at persistent-single_file-text_io.adb"),
Private_Properties =>
GPR_File ("components.gpr") and
GPR_File ("test_components/components-tests.gpr")
);
Components_NTP_V_4_27 : constant Release :=
Register (DAK_Components_NTP,
V ("4.27"),
Git (Repo, "34fb305d6ef360cde5e272b51409097a5de72017"),
Dependencies =>
Within_Major (Components_V_4_27),
Properties =>
Project_File ("components-ntp.gpr") and
Executable ("test_ntp") and
License (GMGPL_2_0) and
Author (DAK_Author) and
Website (DAK_Website),
Private_Properties =>
GPR_File ("components-ntp.gpr") and
GPR_File ("test_components/components-ntp-test_ntp.gpr")
);
Components_Sqlite_V_4_27 : constant Release :=
Register (DAK_Components_SQLite,
V ("4.27"),
Git (Repo, "6fda0f3f7494815c87b329f7411b9a49ff97b9ba"),
Dependencies =>
Within_Major (Components_V_4_27),
Properties =>
Project_File ("components-sqlite.gpr") and
Executable ("test_sqlite_benchmark") and
Executable ("test_sqlite_persistence") and
License (GMGPL_2_0) and
Author (DAK_Author) and
Website (DAK_Website),
Private_Properties =>
GPR_File ("components-sqlite.gpr") and
GPR_File ("test_components/components-sqlite-benchmark_tests.gpr") and
GPR_File ("test_components/components-sqlite-sqlite_persistence_tests.gpr")
);
Components_Connections_V_4_27 : constant Release :=
Register (DAK_Components_Connections,
V ("4.27"),
Git (Repo, "008935d5a89396cc0c39afb39f04bf6a89a92058"),
Dependencies =>
Within_Major (Components_V_4_27) and
Within_Major (Components_Sqlite_V_4_27),
Properties =>
-- Main projects
Project_File ("components-connections_server.gpr") and
Project_File ("components-connections_server-elv_max_cube.gpr") and
Project_File ("components-connections_server-http_server.gpr") and
Project_File ("components-connections_server-http_server-sqlite_browser.gpr") and
Project_File ("components-connections_server-modbus.gpr") and
Project_File ("components-connections_server-mqtt.gpr") and
Project_File ("components-connections_server-smtp.gpr") and
Executable ("test_data_server") and
Executable ("test_echo_client") and
Executable ("test_echo_client_async") and
Executable ("test_echo_server") and
Executable ("test_elv_max_cube_client") and
Executable ("test_http_client") and
Executable ("test_http_continuous_server") and
Executable ("test_http_server") and
Executable ("test_http_sqlite_browser") and
Executable ("test_infinity_server") and
Executable ("test_modbus_client") and
Executable ("test_mqtt_client") and
Executable ("test_mqtt_server") and
Executable ("test_mqtt_webserver") and
Executable ("test_websocket_duplex_server") and
Executable ("test_websocket_server") and
License (GMGPL_2_0) and
Author (DAK_Author) and
Website (DAK_Website),
Private_Properties =>
GPR_File ("components-connections_server.gpr") and
GPR_File ("components-connections_server-elv_max_cube.gpr") and
GPR_File ("components-connections_server-http_server.gpr") and
GPR_File ("components-connections_server-http_server-sqlite_browser.gpr") and
GPR_File ("components-connections_server-modbus.gpr") and
GPR_File ("components-connections_server-mqtt.gpr") and
GPR_File ("components-connections_server-smtp.gpr") and
-- Test projects
GPR_File ("test_components/components-connections_server-elv_max_cube-test_elv_max_cube_client.gpr") and
GPR_File ("test_components/components-connections_server-http_server-test_http_server.gpr") and
GPR_File ("test_components/components-connections_server-modbus-test_modbus_client.gpr") and
GPR_File ("test_components/components-connections_server-mqtt-test_mqtt.gpr") and
GPR_File ("test_components/components-connections_server-test_data_server.gpr") and
GPR_File ("test_components/components-connections_server-test_echo_client_async.gpr") and
GPR_File ("test_components/components-connections_server-test_echo_client.gpr") and
GPR_File ("test_components/components-connections_server-test_echo_server.gpr") and
GPR_File ("test_components/components-connections_server-test_websockets_mqtt.gpr") and
GPR_File ("test_components/components-test_sqlite_browser.gpr")
);
Components_Connections_Secure_V_4_27 : constant Release :=
Register (DAK_Components_Connections_Secure,
V ("4.27"),
Git (Repo, "ca72cf4150ae14ba6d40c3d2dd92c7846cb4cb5d"),
Dependencies =>
Within_Major (Components_Connections_V_4_27) and
Within_Major (LibGNUTLS.V_3_5_8),
Properties =>
Project_File ("components-connections_server-secure.gpr") and
Project_File ("components-gnutls.gpr") and
Executable ("test_https_client") and
Executable ("test_https_server") and
Executable ("test_smtp_client") and
License (GMGPL_2_0) and
Author (DAK_Author) and
Website (DAK_Website),
Private_Properties =>
GPR_File ("components-connections_server-secure.gpr") and
GPR_File ("components-gnutls.gpr") and
GPR_File ("test_components/components-connections_server-http_server-test_https_server.gpr") and
GPR_File ("test_components/components-connections_server-smtp-test_smtp.gpr")
);
Components_ODBC_V_4_27 : constant Release :=
Register (DAK_Components_ODBC,
V ("4.27"),
Git (Repo, "47337f8a5dd69404087129d5cca79885d6e8cd3f"),
Dependencies =>
Within_Major (Components_V_4_27) and
Current (UnixODBC.V_2_3),
Properties =>
Project_File ("components-odbc.gpr") and
Executable ("test_odbc_bindings") and
License (GMGPL_2_0) and
Author (DAK_Author) and
Website (DAK_Website),
Private_Properties =>
GPR_File ("components-odbc.gpr") and
GPR_File ("test_components/components-odbc-odbc_bindings_tests.gpr") and
On_Condition
(Operating_System = GNU_Linux,
GPR_External ("odbc", "unixODBC")) and
On_Condition
(Operating_System = Windows,
GPR_External ("odbc", "ODBC32")) and
On_Condition
(Word_Size = Bits_32,
GPR_External ("arch", "i686")) and
On_Condition
(Word_Size = Bits_64,
GPR_External ("arch", "x86_64"))
);
end Alire.Index.DAK;
+298
View File
@@ -0,0 +1,298 @@
with Alire.Index.LibGNUTLS;
with Alire.Index.UnixODBC;
package Alire.Index.DAK_Components is
function Project is new Catalogued_Project (Projects.DAK_Components);
function Subproject_DAK_Strings_Edit is new Catalogued_Project (DAK_Strings_Edit,
Projects.DAK_Components);
function Subproject_DAK_Tables is new Catalogued_Project (DAK_Tables,
Projects.DAK_Components);
function Subproject_DAK_Components_Connections is new Catalogued_Project (DAK_Components_Connections,
Projects.DAK_Components);
function Subproject_DAK_Components_Connections_Secure is new Catalogued_Project
(DAK_Components_Connections_Secure, Projects.DAK_Components);
function Subproject_DAK_Components_NTP is new Catalogued_Project (DAK_Components_NTP,
Projects.DAK_Components);
function Subproject_DAK_Components_ODBC is new Catalogued_Project (DAK_Components_ODBC,
Projects.DAK_Components);
function Subproject_DAK_Components_SQLite is new Catalogued_Project (DAK_Components_SQLite,
Projects.DAK_Components);
-- Simple Components by Dmitry A. Kazakov
-- Since most project names are common words, I've taken the liberty to prefix them with dak_
-- but the original sources are unchanged.
Repo : constant URL := "https://github.com/alire-project/dak_simple_components.git";
DAK_Author : constant String := "Dmitry A. Kazakov";
DAK_Website : constant String := "http://www.dmitry-kazakov.de/ada/components.htm";
Strings_Edit_V_4_27 : constant Release :=
Subproject_DAK_Strings_Edit.Register
(V ("4.27"),
Git (Repo, "8ac67a28d666dde3a0f96b5a08a7016e4f29d491"),
Properties =>
Project_File ("strings_edit.gpr") and
GPR_Scenario ("Legacy", "Ada95" or "Ada2005" or "Ada2012") and
GPR_Scenario ("Development", "Debug" or "Release") and
Executable ("test_base64") and
Executable ("test_strings_edit") and
Executable ("test_string_streams") and
License (GMGPL_2_0) and
Author (DAK_Author) and
Website (DAK_Website),
Private_Properties =>
GPR_File ("strings_edit.gpr") and
GPR_File ("test_strings_edit/strings_edit-test.gpr")
);
Tables_V_4_27 : constant Release :=
Subproject_DAK_Tables.Register
(V ("4.27"),
Git (Repo, "19205e4981d72242daf72da7d59c5faf2b4c91fd"),
Properties =>
Project_File ("tables.gpr") and
GPR_Scenario ("Legacy", "Ada95" or "Ada2005" or "Ada2012") and
GPR_Scenario ("Development", "Debug" or "Release") and
Executable ("test_tables") and
License (GMGPL_2_0) and
Author (DAK_Author) and
Website (DAK_Website),
Private_Properties =>
GPR_File ("tables.gpr") and
GPR_File ("test_tables/tables-test.gpr")
);
Components_V_4_27 : constant Release :=
Project.Register
(V ("4.27"),
Git (Repo, "542f02c9be86693f759fcb784a8462bc4b25f1f2"),
Dependencies =>
Strings_Edit_V_4_27.Within_Major and
Tables_V_4_27.Within_Major,
Properties =>
Project_File ("components.gpr") and
GPR_Scenario ("Atomic_Access", "Pragma-atomic" or "GCC-built-ins" or "GCC-long-offsets") and
GPR_Scenario ("Tasking", "Multiple" or "Single") and
GPR_Scenario ("Traced_objects", "Off" or "On") and
Executable ("test_approximations") and
Executable ("test_association") and
Executable ("test_blackboard") and
Executable ("test_blackboard_performance") and
Executable ("test_blocking_files") and
Executable ("test_block_streams") and
Executable ("test_b_trees") and
Executable ("test_cubic_spline") and
Executable ("test_dining_philosophers") and
Executable ("test_fifo") and
Executable ("test_generic_indefinite_sets") and
Executable ("test_generic_maps") and
Executable ("test_generic_sets") and
Executable ("test_graphs") and
Executable ("test_handles") and
Executable ("test_ieee_754") and
Executable ("test_linked_lists") and
Executable ("test_linked_lists_scheduler_test") and
Executable ("test_parser_stream_io") and
Executable ("test_persistent_memory_pool") and
Executable ("test_persistent_storage") and
Executable ("test_sequencer") and
Executable ("test_single_file_persistence") and
Executable ("test_stack") and
Executable ("test_storage_streams") and
Executable ("test_string_streams") and
Executable ("test_synchronization_events") and
Executable ("test_transactional_blocking_files") and
Executable ("test_utf8_tables") and
License (GMGPL_2_0) and
Author (DAK_Author) and
Website (DAK_Website) and
Comment ("Tasking=Single seems to be broken at persistent-single_file-text_io.adb"),
Private_Properties =>
GPR_File ("components.gpr") and
GPR_File ("test_components/components-tests.gpr")
);
Components_NTP_V_4_27 : constant Release :=
Subproject_DAK_Components_NTP.Register
(V ("4.27"),
Git (Repo, "34fb305d6ef360cde5e272b51409097a5de72017"),
Dependencies =>
Components_V_4_27.Within_Major,
Properties =>
Project_File ("components-ntp.gpr") and
Executable ("test_ntp") and
License (GMGPL_2_0) and
Author (DAK_Author) and
Website (DAK_Website),
Private_Properties =>
GPR_File ("components-ntp.gpr") and
GPR_File ("test_components/components-ntp-test_ntp.gpr")
);
Components_Sqlite_V_4_27 : constant Release :=
Subproject_DAK_Components_SQLite.Register
(V ("4.27"),
Git (Repo, "6fda0f3f7494815c87b329f7411b9a49ff97b9ba"),
Dependencies =>
Components_V_4_27.Within_Major,
Properties =>
Project_File ("components-sqlite.gpr") and
Executable ("test_sqlite_benchmark") and
Executable ("test_sqlite_persistence") and
License (GMGPL_2_0) and
Author (DAK_Author) and
Website (DAK_Website),
Private_Properties =>
GPR_File ("components-sqlite.gpr") and
GPR_File ("test_components/components-sqlite-benchmark_tests.gpr") and
GPR_File ("test_components/components-sqlite-sqlite_persistence_tests.gpr")
);
Components_Connections_V_4_27 : constant Release :=
Subproject_DAK_Components_Connections.Register
(V ("4.27"),
Git (Repo, "008935d5a89396cc0c39afb39f04bf6a89a92058"),
Dependencies =>
Components_V_4_27.Within_Major and
Components_Sqlite_V_4_27.Within_Major,
Properties =>
-- Main projects
Project_File ("components-connections_server.gpr") and
Project_File ("components-connections_server-elv_max_cube.gpr") and
Project_File ("components-connections_server-http_server.gpr") and
Project_File ("components-connections_server-http_server-sqlite_browser.gpr") and
Project_File ("components-connections_server-modbus.gpr") and
Project_File ("components-connections_server-mqtt.gpr") and
Project_File ("components-connections_server-smtp.gpr") and
Executable ("test_data_server") and
Executable ("test_echo_client") and
Executable ("test_echo_client_async") and
Executable ("test_echo_server") and
Executable ("test_elv_max_cube_client") and
Executable ("test_http_client") and
Executable ("test_http_continuous_server") and
Executable ("test_http_server") and
Executable ("test_http_sqlite_browser") and
Executable ("test_infinity_server") and
Executable ("test_modbus_client") and
Executable ("test_mqtt_client") and
Executable ("test_mqtt_server") and
Executable ("test_mqtt_webserver") and
Executable ("test_websocket_duplex_server") and
Executable ("test_websocket_server") and
License (GMGPL_2_0) and
Author (DAK_Author) and
Website (DAK_Website),
Private_Properties =>
GPR_File ("components-connections_server.gpr") and
GPR_File ("components-connections_server-elv_max_cube.gpr") and
GPR_File ("components-connections_server-http_server.gpr") and
GPR_File ("components-connections_server-http_server-sqlite_browser.gpr") and
GPR_File ("components-connections_server-modbus.gpr") and
GPR_File ("components-connections_server-mqtt.gpr") and
GPR_File ("components-connections_server-smtp.gpr") and
-- Test projects
GPR_File ("test_components/components-connections_server-elv_max_cube-test_elv_max_cube_client.gpr") and
GPR_File ("test_components/components-connections_server-http_server-test_http_server.gpr") and
GPR_File ("test_components/components-connections_server-modbus-test_modbus_client.gpr") and
GPR_File ("test_components/components-connections_server-mqtt-test_mqtt.gpr") and
GPR_File ("test_components/components-connections_server-test_data_server.gpr") and
GPR_File ("test_components/components-connections_server-test_echo_client_async.gpr") and
GPR_File ("test_components/components-connections_server-test_echo_client.gpr") and
GPR_File ("test_components/components-connections_server-test_echo_server.gpr") and
GPR_File ("test_components/components-connections_server-test_websockets_mqtt.gpr") and
GPR_File ("test_components/components-test_sqlite_browser.gpr")
);
Components_Connections_Secure_V_4_27 : constant Release :=
Subproject_DAK_Components_Connections_Secure.Register
(V ("4.27"),
Git (Repo, "ca72cf4150ae14ba6d40c3d2dd92c7846cb4cb5d"),
Dependencies =>
Components_Connections_V_4_27.Within_Major and
LibGNUTLS.V_3_5_8.Within_Major,
Properties =>
Project_File ("components-connections_server-secure.gpr") and
Project_File ("components-gnutls.gpr") and
Executable ("test_https_client") and
Executable ("test_https_server") and
Executable ("test_smtp_client") and
License (GMGPL_2_0) and
Author (DAK_Author) and
Website (DAK_Website),
Private_Properties =>
GPR_File ("components-connections_server-secure.gpr") and
GPR_File ("components-gnutls.gpr") and
GPR_File ("test_components/components-connections_server-http_server-test_https_server.gpr") and
GPR_File ("test_components/components-connections_server-smtp-test_smtp.gpr")
);
Components_ODBC_V_4_27 : constant Release :=
Subproject_DAK_Components_ODBC.Register
(V ("4.27"),
Git (Repo, "47337f8a5dd69404087129d5cca79885d6e8cd3f"),
Dependencies =>
Components_V_4_27.Within_Major and
UnixODBC.V_2_3.Within_Major,
Properties =>
Project_File ("components-odbc.gpr") and
Executable ("test_odbc_bindings") and
License (GMGPL_2_0) and
Author (DAK_Author) and
Website (DAK_Website),
Private_Properties =>
GPR_File ("components-odbc.gpr") and
GPR_File ("test_components/components-odbc-odbc_bindings_tests.gpr") and
On_Condition
(Operating_System = GNU_Linux,
GPR_External ("odbc", "unixODBC")) and
On_Condition
(Operating_System = Windows,
GPR_External ("odbc", "ODBC32")) and
On_Condition
(Word_Size = Bits_32,
GPR_External ("arch", "i686")) and
On_Condition
(Word_Size = Bits_64,
GPR_External ("arch", "x86_64"))
);
end Alire.Index.DAK_Components;
+17 -16
View File
@@ -2,28 +2,29 @@ with Alire.Index.GtkAda;
package Alire.Index.Eagle_Lander is
Prj_Repo : constant URL := "https://github.com/alire-project/eagle-lander.git";
function Project is new Catalogued_Project (Projects.Eagle_Lander);
Prj_Author : constant String := "Fabien Chouteau";
Prj_Website : constant URL := "https://blog.adacore.com/make-with-ada-the-eagle-has-landed";
Prj_Repo : constant URL := "https://github.com/alire-project/eagle-lander.git";
Prj_Author : constant String := "Fabien Chouteau";
Prj_Website : constant URL := "https://blog.adacore.com/make-with-ada-the-eagle-has-landed";
V_1_0 : constant Release :=
Register (Projects.Eagle_Lander,
V ("1.0"),
Git (Prj_Repo, "5a3bcc61eff4d60d2b741add7841410ce539d0b8"),
Project.Register
(V ("1.0"),
Git (Prj_Repo, "5a3bcc61eff4d60d2b741add7841410ce539d0b8"),
Dependencies =>
Within_Major (Alire.Index.GtkAda.V_16_1),
Dependencies =>
GtkAda.V_16_1.Within_Major,
Properties =>
Project_File ("lunar_lander.gpr") and
Properties =>
Project_File ("lunar_lander.gpr") and
Author (Prj_Author) and
Website (Prj_Website) and
License (GPL_3_0),
Author (Prj_Author) and
Website (Prj_Website) and
License (GPL_3_0),
Private_Properties =>
GPR_File ("lunar_lander.gpr")
);
Private_Properties =>
GPR_File ("lunar_lander.gpr")
);
end Alire.Index.Eagle_Lander;
+32 -31
View File
@@ -2,46 +2,47 @@ with Alire.Index.GLUT;
package Alire.Index.Globe_3D is
Prj_Repo : constant URL := "https://github.com/svn2github/GLOBE_3D.git";
function Project is new Catalogued_Project (Projects.Globe_3D);
Prj_Author : constant String := "Gautier de Montmollin";
Prj_Website : constant URL := "https://globe3d.sourceforge.io/";
Prj_Repo : constant URL := "https://github.com/svn2github/GLOBE_3D.git";
Prj_Author : constant String := "Gautier de Montmollin";
Prj_Website : constant URL := "https://globe3d.sourceforge.io/";
V_20180111 : constant Release :=
Register (Projects.Globe_3D,
V ("20180111"),
Git (Prj_Repo, "93f7185130e2fb0db7f1f7e67eaf1b6ca561d651"),
Project.Register
(V ("20180111"),
Git (Prj_Repo, "93f7185130e2fb0db7f1f7e67eaf1b6ca561d651"),
Dependencies =>
Within_Major (GLUT.V_2_8_1),
Dependencies =>
GLUT.V_2_8_1.Within_Major,
Properties =>
Project_File ("globe_3d.gpr") and
GPR_Scenario ("OS_Kind", "linux" or "macosx" or "win32") and
Properties =>
Project_File ("globe_3d.gpr") and
GPR_Scenario ("OS_Kind", "linux" or "macosx" or "win32") and
Executable ("globe_3d_demo") and
Executable ("launch_armada") and
Executable ("launch_multi_window") and
Executable ("launch_sprite_demo") and
Executable ("mini") and
Executable ("globe_3d_demo") and
Executable ("launch_armada") and
Executable ("launch_multi_window") and
Executable ("launch_sprite_demo") and
Executable ("mini") and
Author (Prj_Author) and
Website (Prj_Website) and
License (Unknown),
Author (Prj_Author) and
Website (Prj_Website) and
License (Unknown),
Private_Properties =>
GPR_File ("globe_3d.gpr") and
GPR_File ("demo/globe_3d_demos.gpr") and
GPR_File ("demo/multi_window/multi_window.gpr") and
GPR_File ("demo/sprite/sprite_demo.gpr") and
Private_Properties =>
GPR_File ("globe_3d.gpr") and
GPR_File ("demo/globe_3d_demos.gpr") and
GPR_File ("demo/multi_window/multi_window.gpr") and
GPR_File ("demo/sprite/sprite_demo.gpr") and
On_Condition
(Operating_System = GNU_Linux,
GPR_External ("OS_Kind", "linux")),
On_Condition
(Operating_System = GNU_Linux,
GPR_External ("OS_Kind", "linux")),
Available_When =>
Operating_System = GNU_Linux
-- It's available in more platforms, but still untested and with unknown dependencies
);
Available_When =>
Operating_System = GNU_Linux
-- It's available in more platforms, but still untested and with unknown dependencies
);
end Alire.Index.Globe_3D;
+11 -9
View File
@@ -2,18 +2,20 @@ with Alire.Index.Libhello;
package Alire.Index.Hello is
Repo : constant URL := "https://bitbucket.org/aleteolabs/hello.git";
function Project is new Catalogued_Project (Projects.LibHello);
Repo : constant URL := "https://bitbucket.org/aleteolabs/hello.git";
V_1_0_0 : constant Release :=
Register (Projects.Hello,
V ("1.0.0"),
Git (Repo, "8cac0afddc505794ae3e5634745ce0830129d241"),
Dependencies => Within_Major (Libhello.V_1_0));
Project.Register
(V ("1.0.0"),
Git (Repo, "8cac0afddc505794ae3e5634745ce0830129d241"),
Dependencies => Libhello.V_1_0.Within_Major);
V_1_0_1 : constant Release :=
Register (Projects.Hello,
V ("1.0.1"),
Git (Repo, "65725c20778875eef12b61a01b437120932965f3"),
Dependencies => Within_Major (Libhello.V_1_0));
Project.Register
(V ("1.0.1"),
Git (Repo, "65725c20778875eef12b61a01b437120932965f3"),
Dependencies => Libhello.V_1_0.Within_Major);
end Alire.Index.Hello;
+31 -29
View File
@@ -2,45 +2,47 @@ with Alire.Index.AUnit;
package Alire.Index.Libadacrypt is
function Project is new Catalogued_Project (Projects.Libadacrypt);
Prj_Repo : constant URL := "https://github.com/alire-project/Ada-Crypto-Library.git";
Prj_Author : constant String := "Christian Forler";
V_0_8_7 : constant Release :=
Register (Projects.Libadacrypt,
V ("0.8.7"),
Git (Prj_Repo, "33d15283abbc6d8a51d717de2bd822e026710c0d"),
Project.Register
(V ("0.8.7"),
Git (Prj_Repo, "33d15283abbc6d8a51d717de2bd822e026710c0d"),
Dependencies =>
Within_Major (AUnit.V_2017),
Dependencies =>
AUnit.V_2017.Within_Major,
Properties =>
GPR_Scenario ("system", "unix" or "windows") and
GPR_Scenario ("mode", "debug" or "release") and
Properties =>
GPR_Scenario ("system", "unix" or "windows") and
GPR_Scenario ("mode", "debug" or "release") and
Executable ("test-asymmetric_ciphers") and
Executable ("test-big_number") and
Executable ("test-kdf") and
Executable ("test-symmetric_ciphers") and
Executable ("test-tests") and
Executable ("test-asymmetric_ciphers") and
Executable ("test-big_number") and
Executable ("test-kdf") and
Executable ("test-symmetric_ciphers") and
Executable ("test-tests") and
Author (Prj_Author) and
License (GMGPL_2_0) and
License (GMGPL_3_0),
Author (Prj_Author) and
License (GMGPL_2_0) and
License (GMGPL_3_0),
Private_Properties =>
GPR_File ("libadacrypt.gpr") and
GPR_File ("acltest.gpr") and
Private_Properties =>
GPR_File ("libadacrypt.gpr") and
GPR_File ("acltest.gpr") and
On_Condition
(Operating_System = GNU_Linux,
GPR_External ("system", "unix")) and
On_Condition
(Operating_System = Windows,
GPR_External ("system", "windows")),
On_Condition
(Operating_System = GNU_Linux,
GPR_External ("system", "unix")) and
On_Condition
(Operating_System = Windows,
GPR_External ("system", "windows")),
Available_When =>
Compiler > GNAT_FSF_7_2
-- It fails self-tests; might be a spureous warning
);
Available_When =>
Compiler > GNAT_FSF_7_2
-- It fails self-tests; might be a spureous warning
);
end Alire.Index.Libadacrypt;
+5 -5
View File
@@ -1,12 +1,12 @@
package Alire.Index.Libhello is
Repo : constant URL := "https://bitbucket.org/aleteolabs/libhello.git";
function Project is new Catalogued_Project (Projects.Libhello);
Desc : constant Description_String := "A sample dependency for the hello project";
Repo : constant URL := "https://bitbucket.org/aleteolabs/libhello.git";
V_1_0 : constant Release :=
Register (Projects.Libhello,
V ("1.0"),
Git (Repo, "ce78e7706c9d3f97605df48d8befca5407f8d328"));
Project.Register
(V ("1.0"),
Git (Repo, "ce78e7706c9d3f97605df48d8befca5407f8d328"));
end Alire.Index.Libhello;
+40 -38
View File
@@ -3,53 +3,55 @@ with Alire.Index.LibX11;
package Alire.Index.OpenGLAda is
Prj_Repo : constant URL := "https://github.com/flyx/OpenGLAda.git";
function Project is new Catalogued_Project (Projects.OpenGLAda);
Prj_Author : constant String := "Felix Krause <contact@flyx.org>";
Prj_Website : constant URL := "http://flyx.github.io/OpenGLAda/";
Prj_Repo : constant URL := "https://github.com/flyx/OpenGLAda.git";
Prj_Author : constant String := "Felix Krause <contact@flyx.org>";
Prj_Website : constant URL := "http://flyx.github.io/OpenGLAda/";
V_0_0_0 : constant Release :=
Register (Projects.OpenGLAda,
V ("0.6"),
Git (Prj_Repo, "54a7a50cebab2cba0262c7f59b927e9ddf6e4649"),
V_0_6 : constant Release :=
Project.Register
(V ("0.6"),
Git (Prj_Repo, "54a7a50cebab2cba0262c7f59b927e9ddf6e4649"),
Dependencies =>
On_Condition
(Operating_System = GNU_Linux,
Within_Major (Libglfw3.V_3) and Within_Major (LibX11.V_2)),
Dependencies =>
On_Condition
(Operating_System = GNU_Linux,
Libglfw3.V_3.Within_Major And
LibX11.V_2.Within_Major),
Properties =>
Project_File ("opengl.gpr") and
Project_File ("opengl-glfw.gpr") and
Project_File ("opengl-soil.gpr") and
Project_File ("opengl-test.gpr") and
Properties =>
Project_File ("opengl.gpr") and
Project_File ("opengl-glfw.gpr") and
Project_File ("opengl-soil.gpr") and
Project_File ("opengl-test.gpr") and
GPR_Scenario ("GLFW_Version", "2" or "3") and
GPR_Scenario ("Mode", "debug" or "release") and
GPR_Scenario ("Auto_Exceptions", "enabled" or "disabled") and
GPR_Scenario ("GLFW_Version", "2" or "3") and
GPR_Scenario ("Mode", "debug" or "release") and
GPR_Scenario ("Auto_Exceptions", "enabled" or "disabled") and
Executable ("gl_test-opengl3") and
Executable ("gl_test-context") and
Executable ("gl_test-vbos") and
Executable ("gl_test-shaders") and
Executable ("gl_test-framebuffers") and
Executable ("gl_test-immediate") and
Executable ("gl_test-opengl3") and
Executable ("gl_test-context") and
Executable ("gl_test-vbos") and
Executable ("gl_test-shaders") and
Executable ("gl_test-framebuffers") and
Executable ("gl_test-immediate") and
Author (Prj_Author) and
Website (Prj_Website) and
License (MIT),
Author (Prj_Author) and
Website (Prj_Website) and
License (MIT),
Private_Properties =>
GPR_File ("opengl.gpr") and
GPR_File ("opengl-glfw.gpr") and
GPR_File ("opengl-soil.gpr") and
GPR_File ("opengl-test.gpr") and
Private_Properties =>
GPR_File ("opengl.gpr") and
GPR_File ("opengl-glfw.gpr") and
GPR_File ("opengl-soil.gpr") and
GPR_File ("opengl-test.gpr") and
On_Condition
(Operating_System = GNU_Linux, GPR_External ("Windowing_System", "x11")),
On_Condition
(Operating_System = GNU_Linux, GPR_External ("Windowing_System", "x11")),
Available_When =>
Operating_System = GNU_Linux
);
Available_When =>
Operating_System = GNU_Linux
);
end Alire.Index.OpenGLAda;
+24 -22
View File
@@ -1,34 +1,36 @@
package Alire.Index.PragmARC is
function Project is new Catalogued_Project (Projects.PragmARC);
Repo : constant URL := "https://github.com/alire-project/PragmARC.git";
Auth : constant String := "Jeffrey R. Carter";
Web1 : constant String := "https://github.com/jrcarter/PragmARC";
Web2 : constant String := "https://pragmada.x10hosting.com/";
V_2017 : constant Release := -- Experimental '07 version
Register (Projects.PragmARC,
V ("2017.2007.0"),
Git (Repo, "db6c1730fe825f8303c60b48f82db08bd408588d"),
Notes => "ISO/IEC 8652:2007 version",
Properties =>
Executable ("compile_all") and
License (GMGPL_2_0) and
Author (Auth) and
Website (Web1) and
Website (Web2)
);
Project.Register
(V ("2017.2007.0"),
Git (Repo, "db6c1730fe825f8303c60b48f82db08bd408588d"),
Notes => "ISO/IEC 8652:2007 version",
Properties =>
Executable ("compile_all") and
License (GMGPL_2_0) and
Author (Auth) and
Website (Web1) and
Website (Web2)
);
V_2011 : constant Release := -- Pure Ada95 version
Register (Projects.PragmARC,
V ("2011.1995.0"),
Git (Repo, "34b0e12b5f9aea63408c94cc48ba7a16687c8d76"),
Notes => "Ada 95 version",
Properties =>
Executable ("compile_all") and
License (GMGPL_2_0) and
Author (Auth) and
Website (Web1) and
Website (Web2)
);
Project.Register
(V ("2011.1995.0"),
Git (Repo, "34b0e12b5f9aea63408c94cc48ba7a16687c8d76"),
Notes => "Ada 95 version",
Properties =>
Executable ("compile_all") and
License (GMGPL_2_0) and
Author (Auth) and
Website (Web1) and
Website (Web2)
);
end Alire.Index.PragmARC;
+12 -10
View File
@@ -1,18 +1,20 @@
package Alire.Index.RxAda is
function Project is new Catalogued_Project (Projects.RxAda);
Repo : constant URL := "https://bitbucket.org/amosteo/rxada";
V_0_1_0 : constant Release :=
Register (Projects.RxAda,
V ("0.1.0"),
Hg (Repo, "361d4e2ab20a7dcca007e31bf7094d57b13fee6b"),
Properties =>
Executable ("rx-examples-basic") and
Executable ("rx-examples-minimal") and
Executable ("rx-examples-tests") and
Executable ("rx-examples-threading") and
Project.Register
(V ("0.1.0"),
Hg (Repo, "361d4e2ab20a7dcca007e31bf7094d57b13fee6b"),
Properties =>
Executable ("rx-examples-basic") and
Executable ("rx-examples-minimal") and
Executable ("rx-examples-tests") and
Executable ("rx-examples-threading") and
Author ("alejandro@mosteo.com") and
License (LGPL_3_0));
Author ("alejandro@mosteo.com") and
License (LGPL_3_0));
end Alire.Index.RxAda;
+43 -42
View File
@@ -2,60 +2,61 @@ with Alire.Index.LibSDL2;
package Alire.Index.SDLAda is
Prj_Repo : constant URL := "https://github.com/alire-project/sdlada.git";
function Project is new Catalogued_Project (Projects.SDLAda);
Prj_Author : constant String := "Luke A. Guest";
Prj_Repo : constant URL := "https://github.com/alire-project/sdlada.git";
Prj_Author : constant String := "Luke A. Guest";
V_2_3_1 : constant Release :=
Register (Projects.SDLAda,
V ("2.3.1"),
Git (Prj_Repo, "570232193facb90a58f67aadac93df9dfae8bcd4"),
Project.Register
(V ("2.3.1"),
Git (Prj_Repo, "570232193facb90a58f67aadac93df9dfae8bcd4"),
Dependencies =>
Within_Major (LibSDL2.SDL_V_2) and
Within_Major (LibSDL2.SDL_Image_V_2) and
Within_Major (LibSDL2.SDL_TTF_V_2),
Dependencies =>
LibSDL2.SDL_V_2.Within_Major and
LibSDL2.SDL_Image_V_2.Within_Major and
LibSDL2.SDL_TTF_V_2.Within_Major,
Properties =>
Project_File ("sdlada.gpr") and
Properties =>
Project_File ("sdlada.gpr") and
GPR_Scenario ("SDL_MODE", "debug" or "release") and
GPR_Scenario ("SDL_PLATFORM", "linux" or "bsd" or "windows" or "macosx" or "ios" or "android") and
GPR_Scenario ("SDL_MODE", "debug" or "release") and
GPR_Scenario ("SDL_PLATFORM", "linux" or "bsd" or "windows" or "macosx" or "ios" or "android") and
Author (Prj_Author) and
License (Zlib),
Author (Prj_Author) and
License (Zlib),
Private_Properties =>
GPR_Path ("build/gnat") and
Private_Properties =>
GPR_Path ("build/gnat") and
GPR_File ("build/gnat/sdlada.gpr") and
-- GPR_File ("build/gnat/sdlada_image.gpr") and
GPR_File ("build/gnat/tests.gpr") and
-- GPR_File ("build/gnat/tests_image.gpr") and
GPR_File ("build/gnat/test_maths_build.gpr") and
-- GPR_File ("build/gnat/tools.gpr") and
-- GPR_File ("build/gnat/unit_tests.gpr") and
GPR_File ("build/gnat/sdlada.gpr") and
-- GPR_File ("build/gnat/sdlada_image.gpr") and
GPR_File ("build/gnat/tests.gpr") and
-- GPR_File ("build/gnat/tests_image.gpr") and
GPR_File ("build/gnat/test_maths_build.gpr") and
-- GPR_File ("build/gnat/tools.gpr") and
-- GPR_File ("build/gnat/unit_tests.gpr") and
Executable ("clipboard") and
Executable ("error") and
Executable ("libraries") and
Executable ("load_surface") and
Executable ("platform") and
Executable ("rwops") and
Executable ("stream") and
Executable ("stream2") and
Executable ("surface") and
Executable ("test") and
Executable ("version") and
Executable ("clipboard") and
Executable ("error") and
Executable ("libraries") and
Executable ("load_surface") and
Executable ("platform") and
Executable ("rwops") and
Executable ("stream") and
Executable ("stream2") and
Executable ("surface") and
Executable ("test") and
Executable ("version") and
GPR_External ("SDL_MODE", "release") and
GPR_External ("SDL_MODE", "release") and
On_Condition
(Operating_System = GNU_Linux,
GPR_External ("SDL_PLATFORM", "linux")),
On_Condition
(Operating_System = GNU_Linux,
GPR_External ("SDL_PLATFORM", "linux")),
Available_When =>
Operating_System = GNU_Linux
);
Available_When =>
Operating_System = GNU_Linux
);
end Alire.Index.SDLAda;
+5 -4
View File
@@ -1,10 +1,11 @@
package Alire.Index.Semantic_Versioning is
function Project is new Catalogued_Project (Projects.Semantic_Versioning);
Repo : constant URL := "https://bitbucket.org/aleteolabs/semver.git";
V_0_1_2 : constant Release :=
Register (Projects.Semantic_Versioning,
V ("0.1.2"),
Git (Repo, "09774d80fac62ea3a09d46b22d4807da530387e2"));
V_0_1_2 : constant Release := Project.Register
(V ("0.1.2"),
Git (Repo, "09774d80fac62ea3a09d46b22d4807da530387e2"));
end Alire.Index.Semantic_Versioning;
+4 -3
View File
@@ -1,10 +1,11 @@
package Alire.Index.Simple_Logging is
function Project is new Catalogued_Project (Projects.Simple_Logging);
Repo : constant URL := "https://github.com/mosteo/simple_logging.git";
V_1_0_0 : constant Release :=
Register (Projects.Simple_Logging,
V ("1.0.0"),
Git (Repo, "d98242b8bd1c7f964cebc454e9b1206ffdbb0ca9"));
Project.Register (V ("1.0.0"),
Git (Repo, "d98242b8bd1c7f964cebc454e9b1206ffdbb0ca9"));
end Alire.Index.Simple_Logging;
+24 -22
View File
@@ -3,41 +3,43 @@ with Alire.Index.GtkAda;
package Alire.Index.Steamsky is
function Project is new Catalogued_Project (Projects.Steamsky);
Prj_Repo : constant URL := "https://github.com/thindil/steamsky.git";
Prj_Author : constant String := "Bartek Jasicki";
Prj_Website : constant URL := "https://thindil.github.io/steamsky/";
V_2_1_Dev : constant Release :=
Register (Projects.Steamsky,
V ("2.1-dev"),
Git (Prj_Repo, "faee42a72506f2522d3db9c714d0b0a001c0032d"),
Project.Register
(V ("2.1-dev"),
Git (Prj_Repo, "faee42a72506f2522d3db9c714d0b0a001c0032d"),
Notes => "GtkAda version",
Notes => "GtkAda version",
Dependencies =>
Within_Major (Alire.Index.GtkAda.V_16_1),
Dependencies =>
GtkAda.V_16_1.Within_Major,
Properties =>
Author (Prj_Author) and
Website (Prj_Website) and
License (GPL_3_0)
);
Properties =>
Author (Prj_Author) and
Website (Prj_Website) and
License (GPL_3_0)
);
V_2_0_2 : constant Release :=
Register (Projects.Steamsky,
V ("2.0.2"),
Git (Prj_Repo, "8b4dd319c3199f4b770e39de13f9ef3d9020266f"),
Project.Register
(V ("2.0.2"),
Git (Prj_Repo, "8b4dd319c3199f4b770e39de13f9ef3d9020266f"),
Notes => "Console (ncurses) version",
Notes => "Console (ncurses) version",
Dependencies =>
Within_Major (Alire.Index.Adacurses.V_6),
Dependencies =>
Adacurses.V_6.Within_Major,
Properties =>
Author (Prj_Author) and
Website (Prj_Website) and
License (GPL_3_0)
);
Properties =>
Author (Prj_Author) and
Website (Prj_Website) and
License (GPL_3_0)
);
end Alire.Index.Steamsky;
+19 -17
View File
@@ -1,32 +1,34 @@
package Alire.Index.Whitakers_Words is
function Project is new Catalogued_Project (Projects.Whitakers_Words);
Prj_Repo : constant URL := "https://github.com/mk270/whitakers-words.git";
Prj_Author : constant String := "William A. Whitaker";
Prj_Maintainer : constant String := "Martin Keegan";
Prj_Website : constant URL := "http://mk270.github.io/whitakers-words/";
V_2017_09_10 : constant Release :=
Register (Projects.Whitakers_Words,
V ("2017.09.10"),
Git (Prj_Repo, "27be95b8a06d7b22c0600c824cf929ab43efcf25"),
Properties =>
Project_File ("words.gpr") and
Project.Register
(V ("2017.09.10"),
Git (Prj_Repo, "27be95b8a06d7b22c0600c824cf929ab43efcf25"),
Properties =>
Project_File ("words.gpr") and
Executable ("words") and
Executable ("words") and
Author (Prj_Author) and
Maintainer (Prj_Maintainer) and
Website (Prj_Website) and
License (Public_Domain) and
Author (Prj_Author) and
Maintainer (Prj_Maintainer) and
Website (Prj_Website) and
License (Public_Domain) and
Comment ("This package builds the binary but additional steps are needed") and
Comment ("See the README file for further instructions"),
Comment ("This package builds the binary but additional steps are needed") and
Comment ("See the README file for further instructions"),
Private_Properties =>
GPR_File ("words.gpr"),
Private_Properties =>
GPR_File ("words.gpr"),
Available_When =>
Compiler > GNAT_FSF_7_2 -- bug with SAL library failing binding
);
Available_When =>
Compiler > GNAT_FSF_7_2 -- bug with SAL library failing binding
);
end Alire.Index.Whitakers_Words;
+1
View File
@@ -73,6 +73,7 @@ package Alire.Projects with Preelaborate is
-----------
function Image (Name : Names) return String;
-- Lower case
-----------------
-- Description --
+6 -4
View File
@@ -1,9 +1,11 @@
package Alire.Index.GLUT is
function Project is new Catalogued_Project (Projects.GLUT);
V_2_8_1 : constant Release :=
Register (Projects.GLUT,
V ("2.8.1-3"),
Native ((Debian | Ubuntu => Packaged_As ("freeglut3-dev"),
others => Unavailable)));
Project.Register
(V ("2.8.1-3"),
Native ((Debian | Ubuntu => Packaged_As ("freeglut3-dev"),
others => Unavailable)));
end Alire.Index.GLUT;
+10 -8
View File
@@ -1,13 +1,15 @@
package Alire.Index.GtkAda is
V_16_1 : constant Release :=
Register (Projects.GtkAda,
V ("16.1"),
Native ((Debian | Ubuntu => Packaged_As ("libgtkada16.1.0-dev"),
others => Unavailable)),
function Project is new Catalogued_Project (Projects.GtkAda);
Available_When => Compiler_Is_Native
-- Unfortunately packaged libs can't be used with non-platform compilers due to .ali clashes
);
V_16_1 : constant Release :=
Project.Register
(V ("16.1"),
Native ((Debian | Ubuntu => Packaged_As ("libgtkada16.1.0-dev"),
others => Unavailable)),
Available_When => Compiler_Is_Native
-- Unfortunately packaged libs can't be used with non-platform compilers due to .ali clashes
);
end Alire.Index.GtkAda;
+6 -4
View File
@@ -1,9 +1,11 @@
package Alire.Index.Libglfw3 is
function Project is new Catalogued_Project (Projects.Libglfw3);
V_3 : constant Release :=
Register (Projects.Libglfw3,
V ("3"),
Native ((Debian | Ubuntu => Packaged_As ("libglfw3-dev"),
others => Unavailable)));
Project.Register
(V ("3"),
Native ((Debian | Ubuntu => Packaged_As ("libglfw3-dev"),
others => Unavailable)));
end Alire.Index.Libglfw3;
+6 -4
View File
@@ -1,9 +1,11 @@
package Alire.Index.LibGNUTLS is
function Project is new Catalogued_Project (Projects.LibGNUTLS);
V_3_5_8 : constant Release :=
Register (Projects.LibGNUTLS,
V ("3.5.8"),
Native ((Debian | Ubuntu => Packaged_As ("libgnutls28-dev"),
others => Unavailable)));
Project.Register
(V ("3.5.8"),
Native ((Debian | Ubuntu => Packaged_As ("libgnutls28-dev"),
others => Unavailable)));
end Alire.Index.LibGNUTLS;
+6 -4
View File
@@ -1,9 +1,11 @@
package Alire.Index.Liblua is
function Project is new Catalogued_Project (Projects.Liblua);
V_5_3 : constant Release :=
Register (Projects.Liblua,
V ("5.3"),
Native ((Debian | Ubuntu => Packaged_As ("liblua5.3-dev"),
others => Unavailable)));
Project.Register
(V ("5.3"),
Native ((Debian | Ubuntu => Packaged_As ("liblua5.3-dev"),
others => Unavailable)));
end Alire.Index.Liblua;
+18 -12
View File
@@ -1,21 +1,27 @@
package Alire.Index.LibSDL2 is
function Project is new Catalogued_Project (Projects.LibSDL2);
function Subproject_Image is new Catalogued_Project (Projects.LibSDL2_Image, Projects.LibSDL2);
function Subproject_TTF is new Catalogued_Project (Projects.LibSDL2_TTF, Projects.LibSDL2);
SDL_V_2 : constant Release :=
Register (Projects.LibSDL2,
V ("2"),
Native ((Debian | Ubuntu => Packaged_As ("libsdl2-dev"),
others => Unavailable)));
Project.Register
(V ("2"),
Native ((Debian | Ubuntu => Packaged_As ("libsdl2-dev"),
others => Unavailable)));
SDL_Image_V_2 : constant Release :=
Register (LibSDL2_Image,
V ("2"),
Native ((Debian | Ubuntu => Packaged_As ("libsdl2-image-dev"),
others => Unavailable)));
Subproject_Image.Register
(V ("2"),
Native ((Debian | Ubuntu => Packaged_As ("libsdl2-image-dev"),
others => Unavailable)));
SDL_TTF_V_2 : constant Release :=
Register (LibSDL2_TTF,
V ("2"),
Native ((Debian | Ubuntu => Packaged_As ("libsdl2-ttf-dev"),
others => Unavailable)));
Subproject_TTF.Register
(V ("2"),
Native ((Debian | Ubuntu => Packaged_As ("libsdl2-ttf-dev"),
others => Unavailable)));
end Alire.Index.LibSDL2;
+6 -4
View File
@@ -1,9 +1,11 @@
package Alire.Index.LibX11 is
function Project is new Catalogued_Project (Projects.LibX11);
V_2 : constant Release :=
Register (Projects.LibX11,
V ("2"),
Native ((Debian | Ubuntu => Packaged_As ("libx11-dev"),
others => Unavailable)));
Project.Register
(V ("2"),
Native ((Debian | Ubuntu => Packaged_As ("libx11-dev"),
others => Unavailable)));
end Alire.Index.LibX11;
+15 -13
View File
@@ -1,21 +1,23 @@
package Alire.Index.NcursesAda is
V_5 : constant Release :=
Register (Projects.NcursesAda,
V ("5.0.0+6.0.20170708-2"),
Native ((Debian | Ubuntu => Packaged_As ("libncursesada5-dev"),
others => Unavailable)),
function Project is new Catalogued_Project (Projects.NcursesAda);
Available_When => Compiler_Is_Native
-- Unfortunately packaged libs can't be used with non-platform compilers due to .ali clashes
);
V_5 : constant Release :=
Project.Register
(V ("5.0.0+6.0.20170708-2"),
Native ((Debian | Ubuntu => Packaged_As ("libncursesada5-dev"),
others => Unavailable)),
Available_When => Compiler_Is_Native
-- Unfortunately packaged libs can't be used with non-platform compilers due to .ali clashes
);
V_3 : constant Release :=
Register (Projects.NcursesAda,
V ("3.0.0+5.9.20140726-1build1"),
Native ((Debian | Ubuntu => Packaged_As ("libncursesada3-dev"),
others => Unavailable)),
Project.Register
(V ("3.0.0+5.9.20140726-1build1"),
Native ((Debian | Ubuntu => Packaged_As ("libncursesada3-dev"),
others => Unavailable)),
Available_When => Compiler_Is_Native);
Available_When => Compiler_Is_Native);
end Alire.Index.NcursesAda;
+8 -6
View File
@@ -1,11 +1,13 @@
package Alire.Index.UnixODBC is
function Project is new Catalogued_Project (Projects.UnixODBC);
V_2_3 : constant Release :=
Register (Projects.UnixODBC,
V ("2.3"),
Native ((Debian | Ubuntu => Packaged_As ("unixodbc-dev"),
others => Unavailable)),
Properties =>
Website ("www.unixodbc.org"));
Project.Register
(V ("2.3"),
Native ((Debian | Ubuntu => Packaged_As ("unixodbc-dev"),
others => Unavailable)),
Properties =>
Website ("www.unixodbc.org"));
end Alire.Index.UnixODBC;
+24
View File
@@ -1,8 +1,11 @@
with Alire.Conditional_Values;
with Alire.Dependencies.Vectors;
with Alire.Projects;
with Alire.Properties;
with Alire.Requisites;
with Semantic_Versioning;
package Alire.Conditional with Preelaborate is
package For_Dependencies is new Conditional_Values (Dependencies.Vectors.Vector,
@@ -10,9 +13,30 @@ package Alire.Conditional with Preelaborate is
Dependencies.Vectors.Image_One_Line);
subtype Dependencies is For_Dependencies.Conditional_Value;
function New_Dependency (Name : Projects.Names;
Versions : Semantic_Versioning.Version_Set)
return Dependencies;
package For_Properties is new Conditional_Values (Properties.Vector,
Properties."and",
Properties.Image_One_Line);
subtype Properties is For_Properties.Conditional_Value;
function New_Property (Property : Alire.Properties.Property'Class)
return Properties;
private
function New_Dependency (Name : Projects.Names;
Versions : Semantic_Versioning.Version_Set)
return Dependencies is
(For_Dependencies.New_Value
(Alire.Dependencies.Vectors.New_Dependency (Name, Versions)));
function New_Property (Property : Alire.Properties.Property'Class)
return Properties is
(For_Properties.New_Value
(Alire.Properties.To_Vector (Property, 1)));
end Alire.Conditional;
+46 -2
View File
@@ -1,3 +1,4 @@
with Ada.Containers.Ordered_Maps;
with Ada.Directories;
with Ada.Strings.Maps;
@@ -5,6 +6,49 @@ package body Alire.Index is
use all type Version;
package Name_Entry_Maps is new Ada.Containers.Ordered_Maps (Projects.Names,
Catalog_Entry);
Master_Entries : Name_Entry_Maps.Map;
------------------------
-- Catalogued_Project --
------------------------
function Catalogued_Project return Catalog_Entry is
begin
return C : constant Catalog_Entry := (Name, Parent) do
if Master_Entries.Contains (Name) then
Trace.Error ("Duplicate master project registration");
raise Constraint_Error with "Duplicate project master entry";
else
Master_Entries.Insert (Name, C);
end if;
end return;
end Catalogued_Project;
-------------
-- Current --
-------------
function Current (C : Catalog_Entry) return Release is
begin
for R of reverse Catalog loop
if R.Name = C.Name then
return R;
end if;
end loop;
raise Program_Error with "Catalog entry without releases: " & Image (C.Name);
end Current;
---------
-- Get --
---------
function Get (Name : Projects.Names) return Catalog_Entry is
(Master_Entries.Element (Name));
------------
-- Exists --
------------
@@ -55,7 +99,7 @@ package body Alire.Index is
--------------
function Register (-- Mandatory
Project : Names;
Project : Catalog_Entry;
Version : Semantic_Versioning.Version;
Origin : Origins.Origin;
-- we force naming beyond this point with this ugly guard:
@@ -72,7 +116,7 @@ package body Alire.Index is
use all type Alire.Properties.Labeled.Labels;
begin
return Rel : constant Alire.Releases.Release :=
Alire.Releases.New_Release (Project,
Alire.Releases.New_Release (Project.Name,
Version,
Origin,
Notes,
+76 -41
View File
@@ -19,6 +19,7 @@ with Alire.Requisites.Platform;
with Alire.Root;
with Alire.Roots;
with Alire.Utils;
with Alire.Versions;
with Semantic_Versioning;
@@ -29,6 +30,23 @@ package Alire.Index is
---------------
Catalog : Containers.Release_Set;
type Catalog_Entry is new Versions.Comparable with private;
function Name (C : Catalog_Entry) return Projects.Names;
generic
Name : Projects.Names;
-- The following two allow to group several releases in one index file
-- It's a bit of an abuse, but I'm feeling lazy right now
-- The instance should be called subproject_name instead of just project
Parent : Projects.Names := Name;
function Catalogued_Project return Catalog_Entry;
function Callable_String (C : Catalog_Entry) return String;
-- Returns Name.Project, for master projects
-- Returns Parent.Subproject_Name, for subprojects
-----------------
-- Index types --
@@ -46,7 +64,7 @@ package Alire.Index is
subtype Release is Alire.Releases.Release;
function Register (-- Mandatory
Project : Names;
Project : Catalog_Entry;
Version : Semantic_Versioning.Version;
Origin : Origins.Origin;
-- we force naming beyond this point with this ugly guard:
@@ -71,6 +89,12 @@ package Alire.Index is
---------------------
-- BASIC QUERIES --
---------------------
function Current (C : Catalog_Entry) return Release;
-- Get newest release of C project
function Get (Name : Projects.Names) return Catalog_Entry;
-- Master entry for project
function Exists (Project : Name_String) return Boolean;
@@ -110,60 +134,36 @@ package Alire.Index is
function V (Semantic_Version : String) return Semver.Version
renames Semver.Relaxed;
use Versions.Expressions;
function On (Name : Names;
Versions : Semver.Version_Set)
return Conditional.Dependencies renames Releases.On;
-- We provide two easy shortcut forms:
-- One, using another release, from which we'll take name and version
-- The advantage is that strong typing is used
-- Two, using textual name plus version
-- Simpler if there's no exact release matching the versions we want to say
-- Also needed for the generated _alr files which don't know about package names
function Unavailable return Release_Dependencies renames Releases.Unavailable;
function Unavailable return Release_Dependencies;
-- A never available release
function Current (R : Release) return Release_Dependencies is
(On (R.Name, Semver.Within_Major (R.Version)));
-- Within the major of R,
-- it will accept the newest/oldest version according to the resolution policy (by default, newest)
-- These take a release and use its name and version to derive a dependency
function Within_Major is new Releases.From_Release (Semver.Within_Major);
function Within_Minor is new Releases.From_Release (Semver.Within_Minor);
function At_Least is new Releases.From_Release (Semver.At_Least);
function At_Most is new Releases.From_Release (Semver.At_Most);
function Less_Than is new Releases.From_Release (Semver.Less_Than);
function More_Than is new Releases.From_Release (Semver.More_Than);
function Exactly is new Releases.From_Release (Semver.Exactly);
function Except is new Releases.From_Release (Semver.Except);
-- DEPENDENCIES BUILT FROM RELEASES
-- See too Major_Compatible and Minor_Compatible methods of Release
subtype Version is Semantic_Versioning.Version;
subtype Version_Set is Semantic_Versioning.Version_Set;
function Current (P : Names) return Release_Dependencies is (On (P, Semver.Any));
-- These take a project name and a semantic version (see V above)
function Within_Major is new Releases.From_Names (Semver.Within_Major);
function Within_Minor is new Releases.From_Names (Semver.Within_Minor);
function At_Least is new Releases.From_Names (Semver.At_Least);
function At_Most is new Releases.From_Names (Semver.At_Most);
function Less_Than is new Releases.From_Names (Semver.Less_Than);
function More_Than is new Releases.From_Names (Semver.More_Than);
function Exactly is new Releases.From_Names (Semver.Exactly);
function Except is new Releases.From_Names (Semver.Except);
function Current (C : Catalog_Entry) return Conditional.Dependencies;
function Within_Major (C : Catalog_Entry; V : Version) return Conditional.Dependencies;
function Within_Major (C : Catalog_Entry; V : String) return Conditional.Dependencies;
function Within_Minor (C : Catalog_Entry; V : Version) return Conditional.Dependencies;
function Within_Minor (C : Catalog_Entry; V : String) return Conditional.Dependencies;
function On_Condition (Condition : Requisites.Tree;
When_True : Release_Dependencies;
When_False : Release_Dependencies := No_Dependencies)
return Release_Dependencies
renames Conditional.For_Dependencies.New_Conditional;
-- Excplicitly conditional
-- Explicitly conditional
function When_Available (Preferred : Release_Dependencies;
Otherwise : Release_Dependencies := Releases.Unavailable)
Otherwise : Release_Dependencies := Unavailable)
return Release_Dependencies is
(On_Condition (Requisites.Dependencies.New_Requisite (Preferred),
Preferred,
@@ -274,12 +274,47 @@ package Alire.Index is
return Roots.Root renames Alire.Root.Set;
-- An unindexed working copy
private
private
type Catalog_Entry is new Versions.Comparable with record
Name : Projects.Names;
Parent : Projects.Names;
end record;
overriding
function New_Dependency (L : Catalog_Entry; VS : Semantic_Versioning.Version_Set)
return Conditional.Dependencies is
(Conditional.For_Dependencies.New_Value -- A conditional (without condition) dependency vector
(Dependencies.Vectors.New_Dependency (L.Name, VS)));
function Callable_String (C : Catalog_Entry) return String is
(if C.Parent = C.Name
then Utils.To_Mixed_Case (Projects.Image (C.Name) & ".Project")
else Utils.To_Mixed_Case (Projects.Image (C.Parent) & ".Subproject_" & Image (C.Name)));
function Current (C : Catalog_Entry) return Conditional.Dependencies is
(Conditional.New_Dependency (C.Name, Semver.Any));
function Within_Major (C : Catalog_Entry; V : Version) return Conditional.Dependencies is
(Conditional.New_Dependency (C.Name, Semver.Within_Major (V)));
function Within_Major (C : Catalog_Entry; V : String) return Conditional.Dependencies is
(Conditional.New_Dependency (C.Name, Semver.Within_Major (Index.V (V))));
function Within_Minor (C : Catalog_Entry; V : Version) return Conditional.Dependencies is
(Conditional.New_Dependency (C.Name, Semver.Within_Minor (V)));
function Within_Minor (C : Catalog_Entry; V : String) return Conditional.Dependencies is
(Conditional.New_Dependency (C.Name, Semver.Within_Minor (Index.V (V))));
function Name (C : Catalog_Entry) return Projects.Names is (C.Name);
function GPR_File_Unsafe is new PL.Cond_New_Label (Properties.Labeled.GPR_File);
function GPR_Path_Unsafe is new PL.Cond_New_Label (Properties.Labeled.GPR_Path);
function GPR_File (File : Platform_Independent_Path) return Release_Properties renames GPR_File_Unsafe;
function GPR_Path (Path : Platform_Independent_Path) return Release_Properties renames GPR_Path_Unsafe;
function Unavailable return Conditional.Dependencies is
(Conditional.For_Dependencies.New_Value -- A conditional (without condition) dependency vector
(Dependencies.Vectors.New_Dependency (Projects.Alire_Reserved, Semver.Any)));
end Alire.Index;
+1
View File
@@ -1,4 +1,5 @@
with Alire.Conditional_Values;
with Alire.Dependencies.Vectors;
with Alire.Platforms;
with Alire.Requisites.Booleans;
+19 -33
View File
@@ -1,6 +1,6 @@
with Alire.Conditional;
with Alire.Dependencies;
with Alire.Dependencies.Vectors;
-- with Alire.Dependencies.Vectors;
with Alire.Milestones;
with Alire.Origins;
with Alire.Projects;
@@ -8,6 +8,7 @@ with Alire.Properties;
with Alire.Properties.Labeled;
with Alire.Requisites;
with Alire.Utils;
with Alire.Versions;
with Semantic_Versioning;
@@ -15,7 +16,7 @@ private with Alire.OS_Lib;
package Alire.Releases with Preelaborate is
type Release (<>) is tagged private;
type Release (<>) is new Versions.Versioned with private;
function New_Release (Name : Projects.Names;
Version : Semantic_Versioning.Version;
@@ -98,36 +99,25 @@ package Alire.Releases with Preelaborate is
-- Dependency generation helpers for all semantic versioning functions:
-- These are here to avoid a 'body not seen' Program_Error if they were in Index
function On (Name : Projects.Names;
Versions : Semantic_Versioning.Version_Set)
return Conditional.Dependencies;
generic
with function Condition (V : Semantic_Versioning.Version) return Semantic_Versioning.Version_Set;
function From_Release (R : Release) return Conditional.Dependencies;
generic
with function Condition (V : Semantic_Versioning.Version) return Semantic_Versioning.Version_Set;
function From_Names (P : Projects.Names;
V : Semantic_Versioning.Version) return Conditional.Dependencies;
function Unavailable return Conditional.Dependencies;
-- A never available dependency that is useful in conditional chained dependencies (see Index)
-- function On (Name : Projects.Names;
-- Versions : Semantic_Versioning.Version_Set)
-- return Conditional.Dependencies;
--
-- generic
-- with function Condition (V : Semantic_Versioning.Version) return Semantic_Versioning.Version_Set;
-- function From_Release (R : Release) return Conditional.Dependencies;
private
use all type Projects.Names;
function All_Properties (R : Release) return Conditional.Properties;
function Unavailable return Conditional.Dependencies is
(On (Alire_Reserved, Semantic_Versioning.Any));
function All_Properties (R : Release) return Conditional.Properties;
use Alire.Properties;
function Comment is new Alire.Properties.Labeled.Cond_New_Label (Alire.Properties.Labeled.Comment);
function Describe is new Alire.Properties.Labeled.Cond_New_Label (Alire.Properties.Labeled.Description);
type Release (Descr_Len : Natural) is tagged record
type Release (Descr_Len : Natural) is new Versions.Versioned with record
Name : Projects.Names;
Version : Semantic_Versioning.Version;
Origin : Origins.Origin;
@@ -206,17 +196,13 @@ private
-- Dependency helpers
function On (Name : Projects.Names;
Versions : Semantic_Versioning.Version_Set)
return Conditional.Dependencies is
(Conditional.For_Dependencies.New_Value -- A conditional (without condition) dependency vector
(Dependencies.Vectors.New_Dependency (Name, Versions))); -- A dependency vector
-- function On (Name : Projects.Names;
-- Versions : Semantic_Versioning.Version_Set)
-- return Conditional.Dependencies is
-- (Conditional.For_Dependencies.New_Value -- A conditional (without condition) dependency vector
-- (Dependencies.Vectors.New_Dependency (Name, Versions))); -- A dependency vector
function From_Release (R : Release) return Conditional.Dependencies is
(On (R.Name, Condition (R.Version)));
function From_Names (P : Projects.Names;
V : Semantic_Versioning.Version) return Conditional.Dependencies is
(On (P, Condition (V)));
-- function From_Release (R : Release) return Conditional.Dependencies is
-- (On (R.Name, Condition (R.Version)));
end Alire.Releases;
+1 -1
View File
@@ -34,7 +34,7 @@ package body Alire.Root is
return Root.all;
else
-- Session is outdated or outside
Trace.Debug ("Storing incomplete root for outdated session");
Trace.Warning ("Storing incomplete root for outdated session");
return Set (Projects.Image (Project),
Conditional.For_Dependencies.Empty);
end if;
+43
View File
@@ -0,0 +1,43 @@
with Alire.Conditional;
with Alire.Projects;
with Semantic_Versioning;
with Semantic_Versioning.Expressions;
package Alire.Versions with Preelaborate is
-- Helper package to prepare expressions on version for use in Alire.Index.*
type Versioned is interface;
function Name (V : Versioned) return Projects.Names is abstract;
function Version (V : Versioned) return Semantic_Versioning.Version is abstract;
function Within_Major (V : Versioned'Class) return Conditional.Dependencies;
function Within_Minor (V : Versioned'Class) return Conditional.Dependencies;
type Comparable is interface;
function New_Dependency (L : Comparable; VS : Semantic_Versioning.Version_Set)
return Conditional.Dependencies is abstract;
function New_Dependency_Classwide (L : Comparable'Class; VS : Semantic_Versioning.Version_Set)
return Conditional.Dependencies is (L.New_Dependency (VS));
package Expressions is new Semantic_Versioning.Expressions
(Comparable'Class,
Conditional.Dependencies,
New_Dependency_Classwide);
private
use Semantic_Versioning;
function Within_Major (V : Versioned'Class) return Conditional.Dependencies is
(Conditional.New_Dependency (V.Name, Within_Major (V.Version)));
function Within_Minor (V : Versioned'Class) return Conditional.Dependencies is
(Conditional.New_Dependency (V.Name, Within_Minor (V.Version)));
end Alire.Versions;