egencache: portage.util._argparse
[portage.git] / bin / eapi.sh
1 #!/bin/bash
2 # Copyright 2012 Gentoo Foundation
3 # Distributed under the terms of the GNU General Public License v2
4
5 # PHASES
6
7 ___eapi_has_pkg_pretend() {
8         [[ ! ${1-${EAPI}} =~ ^(0|1|2|3)$ ]]
9 }
10
11 ___eapi_has_src_prepare() {
12         [[ ! ${1-${EAPI}} =~ ^(0|1)$ ]]
13 }
14
15 ___eapi_has_src_configure() {
16         [[ ! ${1-${EAPI}} =~ ^(0|1)$ ]]
17 }
18
19 ___eapi_default_src_test_disables_parallel_jobs() {
20         [[ ${1-${EAPI}} =~ ^(0|1|2|3|4|4-python|4-slot-abi)$ ]]
21 }
22
23 ___eapi_has_S_WORKDIR_fallback() {
24         [[ ${1-${EAPI}} =~ ^(0|1|2|3)$ ]]
25 }
26
27 # VARIABLES
28
29 ___eapi_has_prefix_variables() {
30         [[ ! ${1-${EAPI}} =~ ^(0|1|2)$ || " ${FEATURES} " == *" force-prefix "* ]]
31 }
32
33 ___eapi_has_HDEPEND() {
34         [[ ${1-${EAPI}} =~ ^(5-hdepend)$ ]]
35 }
36
37 ___eapi_has_RDEPEND_DEPEND_fallback() {
38         [[ ${1-${EAPI}} =~ ^(0|1|2|3)$ ]]
39 }
40
41 # HELPERS PRESENCE
42
43 ___eapi_has_dohard() {
44         [[ ${1-${EAPI}} =~ ^(0|1|2|3)$ ]]
45 }
46
47 ___eapi_has_dosed() {
48         [[ ${1-${EAPI}} =~ ^(0|1|2|3)$ ]]
49 }
50
51 ___eapi_has_docompress() {
52         [[ ! ${1-${EAPI}} =~ ^(0|1|2|3)$ ]]
53 }
54
55 ___eapi_has_nonfatal() {
56         [[ ! ${1-${EAPI}} =~ ^(0|1|2|3)$ ]]
57 }
58
59 ___eapi_has_doheader() {
60         [[ ! ${1-${EAPI}} =~ ^(0|1|2|3|4|4-python|4-slot-abi)$ ]]
61 }
62
63 ___eapi_has_usex() {
64         [[ ! ${1-${EAPI}} =~ ^(0|1|2|3|4|4-python|4-slot-abi)$ ]]
65 }
66
67 ___eapi_has_master_repositories() {
68         [[ ${1-${EAPI}} =~ ^(5-progress)$ ]]
69 }
70
71 ___eapi_has_repository_path() {
72         [[ ${1-${EAPI}} =~ ^(5-progress)$ ]]
73 }
74
75 ___eapi_has_available_eclasses() {
76         [[ ${1-${EAPI}} =~ ^(5-progress)$ ]]
77 }
78
79 ___eapi_has_eclass_path() {
80         [[ ${1-${EAPI}} =~ ^(5-progress)$ ]]
81 }
82
83 ___eapi_has_license_path() {
84         [[ ${1-${EAPI}} =~ ^(5-progress)$ ]]
85 }
86
87 ___eapi_has_package_manager_build_user() {
88         [[ ${1-${EAPI}} =~ ^(5-progress)$ ]]
89 }
90
91 ___eapi_has_package_manager_build_group() {
92         [[ ${1-${EAPI}} =~ ^(5-progress)$ ]]
93 }
94
95 # HELPERS BEHAVIOR
96
97 ___eapi_best_version_and_has_version_support_--host-root() {
98         [[ ! ${1-${EAPI}} =~ ^(0|1|2|3|4|4-python|4-slot-abi)$ ]]
99 }
100
101 ___eapi_unpack_supports_xz() {
102         [[ ! ${1-${EAPI}} =~ ^(0|1|2)$ ]]
103 }
104
105 ___eapi_econf_passes_--disable-dependency-tracking() {
106         [[ ! ${1-${EAPI}} =~ ^(0|1|2|3)$ ]]
107 }
108
109 ___eapi_econf_passes_--disable-silent-rules() {
110         [[ ! ${1-${EAPI}} =~ ^(0|1|2|3|4|4-python|4-slot-abi)$ ]]
111 }
112
113 ___eapi_use_enable_and_use_with_support_empty_third_argument() {
114         [[ ! ${1-${EAPI}} =~ ^(0|1|2|3)$ ]]
115 }
116
117 ___eapi_dodoc_supports_-r() {
118         [[ ! ${1-${EAPI}} =~ ^(0|1|2|3)$ ]]
119 }
120
121 ___eapi_doins_and_newins_preserve_symlinks() {
122         [[ ! ${1-${EAPI}} =~ ^(0|1|2|3)$ ]]
123 }
124
125 ___eapi_newins_supports_reading_from_standard_input() {
126         [[ ! ${1-${EAPI}} =~ ^(0|1|2|3|4|4-python|4-slot-abi)$ ]]
127 }
128
129 ___eapi_helpers_can_die() {
130         [[ ! ${1-${EAPI}} =~ ^(0|1|2|3)$ ]]
131 }
132
133 ___eapi_disallows_helpers_in_global_scope() {
134         [[ ${1-${EAPI}} =~ ^(4-python|5-progress)$ ]]
135 }
136
137 # OTHERS
138
139 ___eapi_enables_globstar() {
140         [[ ${1-${EAPI}} =~ ^(4-python|5-progress)$ ]]
141 }