perl-functions.eclass: add perl_get_vendorlib
authorKent Fredric <kentnl@gentoo.org>
Mon, 23 Jan 2017 23:18:16 +0000 (12:18 +1300)
committerKent Fredric <kentnl@gentoo.org>
Fri, 21 Apr 2017 21:30:59 +0000 (09:30 +1200)
eclass/perl-functions.eclass

index 5073215e0e729d5167a44ac67d2c7257bb22f8ab..6d2fa2eed69c9f555ecab34d40d3bac4ebd88fbb 100644 (file)
@@ -447,4 +447,23 @@ perl_get_raw_vendorlib() {
                -e'exists $Config{$ARGV[0]} || die qq{No such Config key "$ARGV[0]"};
                   print $Config{$ARGV[0]};
                   exit 0' -- "installvendorlib" || die "Can't extract installvendorlib from Perl Configuration"
-}
\ No newline at end of file
+}
+
+# @FUNCTION: perl_get_vendorlib
+# @USAGE: perl_get_vendorlib
+# @DESCRIPTION:
+#
+# Convenience helper for returning Perls' vendor install root
+# without EPREFIXing.
+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"
+}