summaryrefslogtreecommitdiff
path: root/eclass
diff options
context:
space:
mode:
Diffstat (limited to 'eclass')
-rw-r--r--eclass/perl-functions.eclass23
1 files changed, 23 insertions, 0 deletions
diff --git a/eclass/perl-functions.eclass b/eclass/perl-functions.eclass
index f6ebb1b43..df048549c 100644
--- a/eclass/perl-functions.eclass
+++ b/eclass/perl-functions.eclass
@@ -587,3 +587,26 @@ perl_get_raw_vendorlib() {
print $Config{$ARGV[0]};
exit 0' -- "installvendorlib" || die "Can't extract installvendorlib from Perl Configuration"
}
+
+# @FUNCTION: perl_get_vendorlib
+# @DESCRIPTION:
+# Convenience helper for returning Perls' vendor install root
+# without EPREFIXing.
+#
+# Example:
+# @CODE
+# my_vendorlib="$(perl_get_vendorlib)"
+# @CODE
+
+perl_get_vendorlib() {
+ debug-print-function $FUNCNAME "$@"
+
+ [[ $# -lt 1 ]] || die "${FUNCNAME}: Too many parameters ($#)"
+
+ # Requires perl 5.14 for /r attribute of s///
+ # Just in case somebody out there is stuck in a time warp: upgrade perl first
+ perl -M5.014 -MConfig \
+ -e'exists $Config{$ARGV[0]} || die qq{No such Config key "$ARGV[0]"};
+ print $Config{$ARGV[0]} =~ s{\A\Q$ARGV[1]\E}{}r;
+ exit 0' -- "installvendorlib" "$EPREFIX" || die "Can't extract installvendorlib from Perl Configuration"
+}