summaryrefslogtreecommitdiffstats
path: root/libcompat
diff options
context:
space:
mode:
authorGeorge Sherwood2008-10-21 15:29:13 -0500
committerGeorge Sherwood2008-10-21 15:29:13 -0500
commit3f8edd3fc622e2a98f201f14a0529e3a3bfd4138 (patch)
tree074b1bd595198a9d54ad1d6d893e60a8fd423f38 /libcompat
parent619db77afefec7bbb038d49a46bd6a16bb6fd889 (diff)
Added grimoire files from z-rejected.
Diffstat (limited to 'libcompat')
-rwxr-xr-xlibcompat67
1 files changed, 67 insertions, 0 deletions
diff --git a/libcompat b/libcompat
new file mode 100755
index 0000000..b654e6e
--- /dev/null
+++ b/libcompat
@@ -0,0 +1,67 @@
+# ignore sub_depends if not supported by sorcery
+declare -f sub_depends &> /dev/null ||
+{
+ function sub_depends() {
+ :
+ }
+
+ function depends() {
+ [[ $1 == "-sub" ]] && shift 2
+ real_depends "$@"
+ }
+
+ function optional_depends() {
+ [[ $1 == "-sub" ]] && shift 2
+ real_optional_depends "$@"
+ }
+}
+
+# ignore force_depends if not supported by sorcery
+declare -f force_depends &> /dev/null ||
+function force_depends() {
+ :
+}
+
+#-------------------------------------------------------------------------
+## Grimoire gaze depends alternative
+## Uses gaze depends if the internal sorcery function isn't available
+#-------------------------------------------------------------------------
+declare -f show_up_depends &> /dev/null ||
+function show_up_depends() {
+ gaze -q depends --fast "$@"
+}
+
+# fall back to optional_depends if suggest_depends isn't implemented
+# OR fall back to true - this is needed to avoid some circular dependencies
+# see #13244 for an example
+if declare -f suggest_depends &> /dev/null; then
+ function suggest_depends_2() {
+ suggest_depends "$@"
+ }
+else
+ function suggest_depends() {
+ optional_depends "$@"
+ }
+
+ function suggest_depends_2() {
+ true
+ }
+fi
+
+# fall back to depends if runtime_depends isn't implemented
+declare -f runtime_depends &> /dev/null ||
+function runtime_depends() {
+ depends "$@"
+}
+
+declare -f is_depends_enabled &>/dev/null ||
+function is_depends_enabled() {
+ local dep_status
+ if [[ $3 ]] ; then
+ dep_status=$DEPENDS_STATUS
+ else
+ dep_status=$(hash_get uncommitted_hash $1)
+ [[ $dep_status ]] || dep_status=$DEPENDS_STATUS
+ fi
+ grep -q "^[[:space:]]*$1:$2:on" $dep_status
+}