diff --git a/index/alire-index-agpl.ads b/index/alire-index-agpl.ads new file mode 100644 index 00000000..0767dacc --- /dev/null +++ b/index/alire-index-agpl.ads @@ -0,0 +1,23 @@ +package Alire.Index.Agpl is + + function Project is new Catalogued_Project + ("Ada General Purpose Library with a robotics flavor"); + + Repo : constant URL := "https://github.com/mosteo/agpl.git"; + + Base : constant Release := + Project.Unreleased + (Properties => + GPR_Scenario ("Agpl_Include_Concorde", "True" or "False") and + GPR_Scenario ("Agpl_Include_Db", "True" or "False") and + GPR_Scenario ("Agpl_Include_Boost", "True" or "False") and + GPR_Scenario ("Agpl_Include_PngIO", "True" or "False") and + + Author ("alejandro@mosteo.com") and + License (LGPL_3_0)); + + package V_1_0_0 is new Released + (Base + .Replacing (Git (Repo, "00ac879f8d049171206699da39ac01f126b196e0"))); + +end Alire.Index.Agpl; diff --git a/index/alire-index-hungarian.ads b/index/alire-index-hungarian.ads new file mode 100644 index 00000000..7838c836 --- /dev/null +++ b/index/alire-index-hungarian.ads @@ -0,0 +1,21 @@ +package Alire.Index.Hungarian is + + function Project is new Catalogued_Project + ("Ada wrapper for the fast Stachniss' Hungarian solver"); + + Repo : constant URL := "https://github.com/mosteo/hungarian.git"; + + Base : constant Release := + Project.Unreleased + (Properties => + GPR_Scenario ("Build_Type", "Debug" or "Release" or + "No_Options" or "Profile") and + + Author ("alejandro@mosteo.com") and + License (LGPL_3_0)); + + package V_1_0_0 is new Released + (Base + .Replacing (Git (Repo, "c784e09b8f9bd02c76d89b458ad6a32f65cfd146"))); + +end Alire.Index.Hungarian; diff --git a/index/alire-index-rsfile.ads b/index/alire-index-rsfile.ads new file mode 100644 index 00000000..dea0cf70 --- /dev/null +++ b/index/alire-index-rsfile.ads @@ -0,0 +1,19 @@ +package Alire.Index.RSFile is + + function Project is new Catalogued_Project + ("Pick a file with probability proportional to its size"); + + Repo : constant URL := "https://github.com/mosteo/rsfile.git"; + + Base : constant Release := + Project.Unreleased + (Properties => + Author ("alejandro@mosteo.com") and + License (GPL_3_0)); + + package V_1_0_0 is new Released + (Base + .Replacing (Git (Repo, "d1a368be007c9e4dd92cdaa9d031324121b9f4c7")) + .Extending (Properties => Executable ("rsfile"))); + +end Alire.Index.RSFile; diff --git a/src/alire-conditional_values.adb b/src/alire-conditional_values.adb index 8a1818f5..d4b7fd28 100644 --- a/src/alire-conditional_values.adb +++ b/src/alire-conditional_values.adb @@ -129,7 +129,7 @@ package body Alire.Conditional_Values is end Visit; begin - if not This.Is_Empty then + if not Pre.Is_Empty then Visit (Pre.Constant_Reference); end if; return Col; @@ -182,11 +182,17 @@ package body Alire.Conditional_Values is Cond : Conditional_Inner renames Conditional_Inner (This); begin if Cond.Condition.Check (Against) then - return Evaluate (Cond.Then_Value.Element); - elsif not Cond.Else_Value.Is_Empty then - return Evaluate (Cond.Else_Value.Element); + if not Cond.Then_Value.Is_Empty then + return Evaluate (Cond.Then_Value.Element); + else + return Empty; + end if; else - return Empty; + if not Cond.Else_Value.Is_Empty then + return Evaluate (Cond.Else_Value.Element); + else + return Empty; + end if; end if; end; when Value =>