summaryrefslogtreecommitdiffstats
path: root/meta/classes-recipe/cpan-base.bbclass
diff options
context:
space:
mode:
Diffstat (limited to 'meta/classes-recipe/cpan-base.bbclass')
-rw-r--r--meta/classes-recipe/cpan-base.bbclass33
1 files changed, 33 insertions, 0 deletions
diff --git a/meta/classes-recipe/cpan-base.bbclass b/meta/classes-recipe/cpan-base.bbclass
new file mode 100644
index 0000000000..1db0a4ded6
--- /dev/null
+++ b/meta/classes-recipe/cpan-base.bbclass
@@ -0,0 +1,33 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+#
+# cpan-base providers various perl related information needed for building
+# cpan modules
+#
+FILES:${PN} += "${libdir}/perl5 ${datadir}/perl5"
+
+DEPENDS += "${@["perl", "perl-native"][(bb.data.inherits_class('native', d))]}"
+RDEPENDS:${PN} += "${@["perl", ""][(bb.data.inherits_class('native', d))]}"
+
+inherit perl-version
+
+def is_target(d):
+ if not bb.data.inherits_class('native', d):
+ return "yes"
+ return "no"
+
+PERLLIBDIRS = "${libdir}/perl5"
+PERLLIBDIRS:class-native = "${libdir}/perl5"
+
+def cpan_upstream_check_pattern(d):
+ for x in (d.getVar('SRC_URI') or '').split(' '):
+ if x.startswith("https://cpan.metacpan.org"):
+ _pattern = x.split('/')[-1].replace(d.getVar('PV'), r'(?P<pver>\d+.\d+)')
+ return _pattern
+ return ''
+
+UPSTREAM_CHECK_REGEX ?= "${@cpan_upstream_check_pattern(d)}"