diff options
author | 2011-04-12 19:45:23 +0100 | |
---|---|---|
committer | 2011-04-12 19:45:23 +0100 | |
commit | 15a7c5731bb389c53cca09d4389c34f887524ba2 (patch) | |
tree | 24374c6330705c8b449338da1ebf69eaa159118c | |
parent | bc9513ea121b5f4f7486495b020e2acde57e5133 (diff) | |
download | paludis-15a7c5731bb389c53cca09d4389c34f887524ba2.tar.gz paludis-15a7c5731bb389c53cca09d4389c34f887524ba2.tar.xz |
Support implicit annotation
-rw-r--r-- | paludis/dep_spec_annotations.cc | 1 | ||||
-rw-r--r-- | paludis/dep_spec_annotations.se | 2 | ||||
-rw-r--r-- | paludis/repositories/e/eapi.cc | 3 | ||||
-rw-r--r-- | paludis/repositories/e/eapi.hh | 2 | ||||
-rw-r--r-- | paludis/repositories/e/eapis/exheres-0.conf | 1 | ||||
-rw-r--r-- | paludis/repositories/e/parse_annotations.cc | 7 |
6 files changed, 15 insertions, 1 deletions
diff --git a/paludis/dep_spec_annotations.cc b/paludis/dep_spec_annotations.cc index 68305134b..6fa9242dd 100644 --- a/paludis/dep_spec_annotations.cc +++ b/paludis/dep_spec_annotations.cc @@ -134,6 +134,7 @@ paludis::find_blocker_role_in_annotations( case dsar_myoptions_n_at_most_one: case dsar_myoptions_n_exactly_one: case dsar_suggestions_group_name: + case dsar_system_implicit: break; case last_dsar: diff --git a/paludis/dep_spec_annotations.se b/paludis/dep_spec_annotations.se index 82f67d527..35aa0e75e 100644 --- a/paludis/dep_spec_annotations.se +++ b/paludis/dep_spec_annotations.se @@ -31,6 +31,8 @@ make_enum_DepSpecAnnotationRole() key dsar_suggestions_group_name "Group name for suggestions" + key dsar_system_implicit "For system, whether a spec is an implicit dependency" + want_destringify doxygen_comment << "END" diff --git a/paludis/repositories/e/eapi.cc b/paludis/repositories/e/eapi.cc index a7c8d0bf9..ed00a9b7d 100644 --- a/paludis/repositories/e/eapi.cc +++ b/paludis/repositories/e/eapi.cc @@ -272,7 +272,8 @@ namespace n::myoptions_number_selected_at_most_one() = k.get("annotations_myoptions_number_selected_at_most_one"), n::myoptions_number_selected_exactly_one() = k.get("annotations_myoptions_number_selected_exactly_one"), n::myoptions_requires() = k.get("annotations_myoptions_requires"), - n::suggestions_group_name() = k.get("annotations_suggesions_group_name") + n::suggestions_group_name() = k.get("annotations_suggesions_group_name"), + n::system_implicit() = k.get("system_implicit") )); } diff --git a/paludis/repositories/e/eapi.hh b/paludis/repositories/e/eapi.hh index a40398a43..1e9a87d1a 100644 --- a/paludis/repositories/e/eapi.hh +++ b/paludis/repositories/e/eapi.hh @@ -197,6 +197,7 @@ namespace paludis typedef Name<struct name_support_eclasses> support_eclasses; typedef Name<struct name_support_exlibs> support_exlibs; typedef Name<struct name_supported> supported; + typedef Name<struct name_system_implicit> system_implicit; typedef Name<struct name_tools_options> tools_options; typedef Name<struct name_unpack_fix_permissions> unpack_fix_permissions; typedef Name<struct name_unpack_suffixes> unpack_suffixes; @@ -499,6 +500,7 @@ namespace paludis NamedValue<n::myoptions_number_selected_exactly_one, std::string> myoptions_number_selected_exactly_one; NamedValue<n::myoptions_requires, std::string> myoptions_requires; NamedValue<n::suggestions_group_name, std::string> suggestions_group_name; + NamedValue<n::system_implicit, std::string> system_implicit; }; } } diff --git a/paludis/repositories/e/eapis/exheres-0.conf b/paludis/repositories/e/eapis/exheres-0.conf index 25907fba1..d172a959f 100644 --- a/paludis/repositories/e/eapis/exheres-0.conf +++ b/paludis/repositories/e/eapis/exheres-0.conf @@ -372,4 +372,5 @@ annotations_myoptions_number_selected_at_least_one = at-least-one annotations_myoptions_number_selected_at_most_one = at-most-one annotations_myoptions_number_selected_exactly_one = exactly-one annotations_suggesions_group_name = group-name +annotations_system_implicit = implicit diff --git a/paludis/repositories/e/parse_annotations.cc b/paludis/repositories/e/parse_annotations.cc index 66e5e5509..370a035ab 100644 --- a/paludis/repositories/e/parse_annotations.cc +++ b/paludis/repositories/e/parse_annotations.cc @@ -107,6 +107,13 @@ paludis::erepository::parse_annotations( role = dsar_suggestions_group_name; } + /* system */ + if (dsar_none == role) + { + if (key == eapi.supported()->annotations()->system_implicit()) + role = dsar_system_implicit; + } + /* general */ if (dsar_none == role) { |