aboutsummaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-devtools/perl
diff options
context:
space:
mode:
Diffstat (limited to 'meta-oe/recipes-devtools/perl')
-rw-r--r--meta-oe/recipes-devtools/perl/exiftool_12.72.bb22
-rw-r--r--meta-oe/recipes-devtools/perl/ipc-run_20231003.0.bb (renamed from meta-oe/recipes-devtools/perl/ipc-run_20180523.0.bb)6
-rw-r--r--meta-oe/recipes-devtools/perl/libconfig-general-perl_2.65.bb22
-rw-r--r--meta-oe/recipes-devtools/perl/libdbd-mysql-perl_4.050.bb (renamed from meta-oe/recipes-devtools/perl/libdbd-mysql-perl_4.043.bb)19
-rw-r--r--meta-oe/recipes-devtools/perl/libdbi-perl/CVE-2014-10402.patch56
-rw-r--r--meta-oe/recipes-devtools/perl/libdbi-perl_1.641.bb36
-rw-r--r--meta-oe/recipes-devtools/perl/libdbi-perl_1.643.bb69
-rw-r--r--meta-oe/recipes-devtools/perl/libdev-checklib-perl/0001-CheckLib.pm-don-t-execute-the-binary.patch46
-rw-r--r--meta-oe/recipes-devtools/perl/libdev-checklib-perl_1.16.bb28
-rw-r--r--meta-oe/recipes-devtools/perl/libio-pty-perl_1.12.bb16
-rw-r--r--meta-oe/recipes-devtools/perl/libio-pty-perl_1.20.bb26
-rw-r--r--meta-oe/recipes-devtools/perl/libjson-perl_4.03000.bb22
-rw-r--r--meta-oe/recipes-devtools/perl/libparse-yapp-perl_1.21.bb25
-rw-r--r--meta-oe/recipes-devtools/perl/libpcsc-perl_1.4.14.bb22
-rw-r--r--meta-oe/recipes-devtools/perl/libperlio-gzip-perl_0.20.bb30
15 files changed, 381 insertions, 64 deletions
diff --git a/meta-oe/recipes-devtools/perl/exiftool_12.72.bb b/meta-oe/recipes-devtools/perl/exiftool_12.72.bb
new file mode 100644
index 0000000000..ba3e3fdf7e
--- /dev/null
+++ b/meta-oe/recipes-devtools/perl/exiftool_12.72.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Exiftool"
+DESCRIPTION = "ExifTool is a platform-independent Perl library plus a command-line application for reading, writing and editing meta information in a wide variety of files."
+HOMEPAGE = "https://exiftool.org/"
+SECTION = "libs"
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://perl-Image-ExifTool.spec;beginline=5;endline=5;md5=ffefffc98dab025cb49489bd4d88ee10"
+
+inherit cpan
+
+SRCREV = "fc4f6614ff0c19bb5f332a9c464dcef7267931df"
+SRC_URI = "git://github.com/exiftool/exiftool;protocol=https;branch=master"
+
+S = "${WORKDIR}/git"
+
+RDEPENDS:${PN} = " \
+ perl \
+ perl-module-list-util \
+ perl-module-overload \
+ perl-module-file-glob \
+ perl-module-scalar-util \
+ perl-module-compress-zlib \
+"
diff --git a/meta-oe/recipes-devtools/perl/ipc-run_20180523.0.bb b/meta-oe/recipes-devtools/perl/ipc-run_20231003.0.bb
index c812ae1374..e28b6ea018 100644
--- a/meta-oe/recipes-devtools/perl/ipc-run_20180523.0.bb
+++ b/meta-oe/recipes-devtools/perl/ipc-run_20231003.0.bb
@@ -5,12 +5,12 @@ usages are supported and may be mixed. Likewise, functional and OO API \
styles are both supported and may be mixed."
HOMEPAGE = "https://metacpan.org/release/IPC-Run"
SECTION = "libs"
-LICENSE = "Artistic-1.0 | GPL-1.0+"
+LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
LIC_FILES_CHKSUM = "file://LICENSE;md5=0ebd37caf53781e8b7223e6b99b63f4e"
DEPENDS = "perl"
-SRC_URI = "git://github.com/toddr/IPC-Run.git"
-SRCREV = "0b409702490729eeb97ae65f5b94d949ec083134"
+SRC_URI = "git://github.com/toddr/IPC-Run.git;branch=master;protocol=https"
+SRCREV = "ad56c3b5f5a211d32bbb8ac29f180d707ee58c1b"
S = "${WORKDIR}/git"
diff --git a/meta-oe/recipes-devtools/perl/libconfig-general-perl_2.65.bb b/meta-oe/recipes-devtools/perl/libconfig-general-perl_2.65.bb
new file mode 100644
index 0000000000..b2266394d6
--- /dev/null
+++ b/meta-oe/recipes-devtools/perl/libconfig-general-perl_2.65.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "Config file parser module"
+HOMEPAGE = "http://search.cpan.org/dist/Config-General/"
+LICENSE = "Artistic-2.0 | GPL-1.0-or-later"
+SECTION = "libs"
+LIC_FILES_CHKSUM = "file://README;beginline=90;endline=90;md5=53fe13727e61798809ec5c160dc93e6e"
+
+SRCNAME = "Config-General"
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/T/TL/TLINDEN/${SRCNAME}-${PV}.tar.gz"
+
+SRC_URI[sha256sum] = "4d6d5754be3a9f30906836f0cc10e554c8832e14e7a1341efb15b05d706fc58f"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+EXTRA_CPANFLAGS = "EXPATLIBPATH=${STAGING_LIBDIR} EXPATINCPATH=${STAGING_INCDIR}"
+
+inherit cpan
+
+do_compile() {
+ export LIBC="$(find ${STAGING_DIR_TARGET}/${base_libdir}/ -name 'libc-*.so')"
+ cpan_do_compile
+}
diff --git a/meta-oe/recipes-devtools/perl/libdbd-mysql-perl_4.043.bb b/meta-oe/recipes-devtools/perl/libdbd-mysql-perl_4.050.bb
index bd8ba780ae..53c197c5de 100644
--- a/meta-oe/recipes-devtools/perl/libdbd-mysql-perl_4.043.bb
+++ b/meta-oe/recipes-devtools/perl/libdbd-mysql-perl_4.050.bb
@@ -6,20 +6,21 @@ with the MySQL relational database management system. Most functions \
provided by this programming API are supported. Some rarely used \
functions are missing, mainly because no-one ever requested them. \
"
-HOMEPAGE = "http://search.cpan.org/~michielb/DBD-mysql-4.036/lib/DBD/mysql.pm"
+HOMEPAGE = "https://github.com/perl5-dbi/DBD-mysql"
SECTION = "libs"
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-DEPENDS += "libdbi-perl-native libmysqlclient"
+LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
+DEPENDS += "libdev-checklib-perl-native libdbi-perl-native libmysqlclient"
LIC_FILES_CHKSUM = "file://LICENSE;md5=d0a06964340e5c0cde88b7af611f755c"
-SRC_URI = "http://search.cpan.org/CPAN/authors/id/M/MI/MICHIELB/DBD-mysql-${PV}.tar.gz \
-"
-
-SRC_URI[md5sum] = "4a00dd7f1c057931147c65dfc4901c36"
-SRC_URI[sha256sum] = "629f865e8317f52602b2f2efd2b688002903d2e4bbcba5427cb6188b043d6f99"
+SRCREV = "9b5b70ea372f49fe9bc9e592dae3870596d1e3d6"
+SRC_URI = "git://github.com/perl5-dbi/DBD-mysql.git;protocol=https;branch=master"
-S = "${WORKDIR}/DBD-mysql-${PV}"
+S = "${WORKDIR}/git"
inherit cpan
+
+# http://errors.yoctoproject.org/Errors/Details/766909/
+# dbdimp.c:3207:24: error: assignment to 'my_bool *' {aka 'char *'} from incompatible pointer type '_Bool *' [-Wincompatible-pointer-types]
+CFLAGS += "-Wno-error=incompatible-pointer-types"
diff --git a/meta-oe/recipes-devtools/perl/libdbi-perl/CVE-2014-10402.patch b/meta-oe/recipes-devtools/perl/libdbi-perl/CVE-2014-10402.patch
new file mode 100644
index 0000000000..b41bbe0a50
--- /dev/null
+++ b/meta-oe/recipes-devtools/perl/libdbi-perl/CVE-2014-10402.patch
@@ -0,0 +1,56 @@
+Backport patch to fix CVE-2014-10402.
+
+CVE: CVE-2014-10402
+Upstream-Status: Backport [https://github.com/rehsack/dbi/commit/19d0fb1]
+
+Ref:
+https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=972180#12
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+
+
+From 19d0fb169eed475e1c053e99036b8668625cfa94 Mon Sep 17 00:00:00 2001
+From: Jens Rehsack <sno@netbsd.org>
+Date: Tue, 6 Oct 2020 10:22:17 +0200
+Subject: [PATCH] lib/DBD/File.pm: fix CVE-2014-10401
+
+Dig into the root cause of RT#99508 - which resulted in CVE-2014-10401 - and
+figure out that DBI->parse_dsn is the wrong helper to parse our attributes in
+DSN, since in DBD::dr::connect only the "dbname" remains from DSN which causes
+parse_dsn to bailout.
+
+Parsing on our own similar to parse_dsn shows the way out.
+
+Signed-off-by: Jens Rehsack <sno@netbsd.org>
+---
+ lib/DBD/File.pm | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/lib/DBD/File.pm b/lib/DBD/File.pm
+index fb14e9a..f55076f 100644
+--- a/lib/DBD/File.pm
++++ b/lib/DBD/File.pm
+@@ -109,7 +109,11 @@ sub connect
+ # We do not (yet) care about conflicting attributes here
+ # my $dbh = DBI->connect ("dbi:CSV:f_dir=test", undef, undef, { f_dir => "text" });
+ # will test here that both test and text should exist
+- if (my $attr_hash = (DBI->parse_dsn ($dbname))[3]) {
++ #
++ # Parsing on our own similar to parse_dsn to find attributes in 'dbname' parameter.
++ if ($dbname) {
++ my @attrs = split /;/ => $dbname;
++ my $attr_hash = { map { split /\s*=>?\s*|\s*,\s*/, $_} @attrs };
+ if (defined $attr_hash->{f_dir} && ! -d $attr_hash->{f_dir}) {
+ my $msg = "No such directory '$attr_hash->{f_dir}";
+ $drh->set_err (2, $msg);
+@@ -120,7 +124,6 @@ sub connect
+ if ($attr and defined $attr->{f_dir} && ! -d $attr->{f_dir}) {
+ my $msg = "No such directory '$attr->{f_dir}";
+ $drh->set_err (2, $msg);
+- $attr->{RaiseError} and croak $msg;
+ return;
+ }
+
+--
+2.17.1
+
diff --git a/meta-oe/recipes-devtools/perl/libdbi-perl_1.641.bb b/meta-oe/recipes-devtools/perl/libdbi-perl_1.641.bb
deleted file mode 100644
index 24a1245fc0..0000000000
--- a/meta-oe/recipes-devtools/perl/libdbi-perl_1.641.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-SUMMARY = "The Perl Database Interface"
-DESCRIPTION = "DBI is a database access Application Programming Interface \
-(API) for the Perl Language. The DBI API Specification defines a set \
-of functions, variables and conventions that provide a consistent \
-database interface independent of the actual database being used. \
-"
-HOMEPAGE = "http://search.cpan.org/dist/DBI/"
-SECTION = "libs"
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-RDEPENDS_${PN} = " perl-module-carp \
- perl-module-exporter \
- perl-module-exporter-heavy \
- perl-module-dynaloader \
-"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=10982c7148e0a012c0fd80534522f5c5"
-
-SRC_URI = "http://search.cpan.org/CPAN/authors/id/T/TI/TIMB/DBI-${PV}.tar.gz"
-SRC_URI[md5sum] = "e77fd37fcf77fc88fde029c1b75ded54"
-SRC_URI[sha256sum] = "5509e532cdd0e3d91eda550578deaac29e2f008a12b64576e8c261bb92e8c2c1"
-
-S = "${WORKDIR}/DBI-${PV}"
-
-inherit cpan ptest-perl
-
-do_install_prepend() {
- # test requires "-T" (taint) command line option
- rm -rf ${B}/t/pod-coverage.t
- rm -rf ${B}/t/13taint.t
- # source of test failure not obvious
- rm -rf ${B}/t/85gofer.t
- # unclear why there are several duplicates of tests in tarball
- rm -rf ${B}/t/z*.t
-}
-
-BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-devtools/perl/libdbi-perl_1.643.bb b/meta-oe/recipes-devtools/perl/libdbi-perl_1.643.bb
new file mode 100644
index 0000000000..1fee83a8fd
--- /dev/null
+++ b/meta-oe/recipes-devtools/perl/libdbi-perl_1.643.bb
@@ -0,0 +1,69 @@
+SUMMARY = "The Perl Database Interface"
+DESCRIPTION = "DBI is a database access Application Programming Interface \
+(API) for the Perl Language. The DBI API Specification defines a set \
+of functions, variables and conventions that provide a consistent \
+database interface independent of the actual database being used. \
+"
+HOMEPAGE = "http://search.cpan.org/dist/DBI/"
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=10982c7148e0a012c0fd80534522f5c5"
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/T/TI/TIMB/DBI-${PV}.tar.gz \
+ file://CVE-2014-10402.patch \
+ "
+SRC_URI[md5sum] = "352f80b1e23769c116082a90905d7398"
+SRC_URI[sha256sum] = "8a2b993db560a2c373c174ee976a51027dd780ec766ae17620c20393d2e836fa"
+
+S = "${WORKDIR}/DBI-${PV}"
+
+inherit cpan ptest-perl
+
+do_install:prepend() {
+ # test requires "-T" (taint) command line option
+ rm -rf ${B}/t/pod-coverage.t
+ rm -rf ${B}/t/13taint.t
+ # source of test failure not obvious
+ rm -rf ${B}/t/85gofer.t
+ # unclear why there are several duplicates of tests in tarball
+ rm -rf ${B}/t/z*.t
+}
+
+do_install:append() {
+ sed -i "s:^#!.*:#!/usr/bin/env perl:" ${D}${bindir}/dbiproxy \
+ ${D}${bindir}/dbiprof ${D}${bindir}/dbilogstrip
+}
+
+RDEPENDS:${PN}:class-target = " \
+ perl \
+ perl-module-carp \
+ perl-module-exporter \
+ perl-module-exporter-heavy \
+ perl-module-dynaloader \
+ perl-module-io-dir \
+ perl-module-scalar-util \
+ perl-module-universal \
+"
+
+RDEPENDS:${PN}-ptest = " \
+ ${PN} \
+ perl-module-b \
+ perl-module-benchmark \
+ perl-module-cwd \
+ perl-module-data-dumper \
+ perl-module-encode \
+ perl-module-encode-byte \
+ perl-module-encode-encoding \
+ perl-module-file-copy \
+ perl-module-file-path \
+ perl-module-lib \
+ perl-module-perlio \
+ perl-module-perlio-scalar \
+ perl-module-perlio-via \
+ perl-module-sdbm-file \
+ perl-module-storable \
+ perl-module-test-more \
+ perl-module-utf8 \
+ "
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-devtools/perl/libdev-checklib-perl/0001-CheckLib.pm-don-t-execute-the-binary.patch b/meta-oe/recipes-devtools/perl/libdev-checklib-perl/0001-CheckLib.pm-don-t-execute-the-binary.patch
new file mode 100644
index 0000000000..f79b158114
--- /dev/null
+++ b/meta-oe/recipes-devtools/perl/libdev-checklib-perl/0001-CheckLib.pm-don-t-execute-the-binary.patch
@@ -0,0 +1,46 @@
+From d111fd85b25466f7829ccee34493aa0e3b551308 Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Tue, 23 Apr 2019 19:13:19 -0700
+Subject: [PATCH] CheckLib.pm: don't execute the binary
+
+Don't execute the binary in build env as the
+binary which is generated in cross compile env
+may fail when executed in build env.
+
+And it's enough to verify the libs via successully
+generate the binary which links the libs as below.
+ $ /yocto/builds/upgrade1/tmp/work/core2-64-poky-linux/libdbd-mysql-perl/4.050-r0/recipe-sysroot-native/usr/bin/x86_64-poky-linux/x86_64-poky-linux-gcc \
+ -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security \
+ -Werror=format-security --sysroot=/yocto/builds/upgrade1/tmp/work/core2-64-poky-linux/libdbd-mysql-perl/4.050-r0/recipe-sysroot \
+ -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=/yocto/builds/upgrade1/tmp/work/core2-64-poky-linux/perl/5.28.1-r1=/usr/src/debug/perl/5.28.1-r1 \
+ -fdebug-prefix-map=/yocto/builds/upgrade1/tmp/work/core2-64-poky-linux/perl/5.28.1-r1=/usr/src/debug/perl/5.28.1-r1 \
+ -fdebug-prefix-map=/yocto/builds/upgrade1/tmp/work/core2-64-poky-linux/libdbd-mysql-perl/4.050-r0/recipe-sysroot= -fdebug-prefix-map=/yocto/builds/upgrade1/tmp/work/core2-64-poky-linux/libdbd-mysql-perl/4.050-r0/recipe-sysroot-native= -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 assertlibEhx19yuY.c -L/yocto/builds/upgrade1/tmp/work/core2-64-poky-linux/libdbd-mysql-perl/4.050-r0/recipe-sysroot/usr/lib -lcrypto -fstack-protector-strong -o assertlibCOw_eujb
+
+Execute the binary in cross compile env as below
+and use the return status to determine the lib's
+checking status is not appropriate in cross compile env.
+ $ /yocto/builds/upgrade1/tmp/work/core2-64-poky-linux/libdbd-mysql-perl/4.050-r0/git/assertlibCOw_eujb
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ lib/Devel/CheckLib.pm | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/Devel/CheckLib.pm b/lib/Devel/CheckLib.pm
+index 2e5a252..5c2f0b0 100644
+--- a/lib/Devel/CheckLib.pm
++++ b/lib/Devel/CheckLib.pm
+@@ -403,7 +403,7 @@ sub assert_lib {
+ if ($execute) {
+ my $retval = system($absexefile);
+ warn "# return value: $retval\n" if $args{debug};
+- push @wrongresult, $lib if $retval != 0;
++ print "Checking the lib $lib\n" if $retval != 0;
+ }
+ push @wronganalysis, $lib
+ if $analyze_binary and !$analyze_binary->($lib, $exefile);
+--
+2.25.1
+
diff --git a/meta-oe/recipes-devtools/perl/libdev-checklib-perl_1.16.bb b/meta-oe/recipes-devtools/perl/libdev-checklib-perl_1.16.bb
new file mode 100644
index 0000000000..74a09e7bf8
--- /dev/null
+++ b/meta-oe/recipes-devtools/perl/libdev-checklib-perl_1.16.bb
@@ -0,0 +1,28 @@
+SUMMARY = "A Perl module that checks whether a particular C library and its headers are available"
+DESCRIPTION = "This module provides a way of checking whether a particular library \
+and its headers are available, by attempting to compile a simple program and \
+link against it."
+HOMEPAGE = "https://metacpan.org/pod/Devel::CheckLib"
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
+
+LIC_FILES_CHKSUM = "file://README;md5=7911cdbb572d25c5f2e2ea17f669efc2"
+
+SRC_URI = "https://cpan.metacpan.org/modules/by-module/Devel/Devel-CheckLib-${PV}.tar.gz \
+ file://0001-CheckLib.pm-don-t-execute-the-binary.patch \
+"
+SRC_URI[sha256sum] = "869d38c258e646dcef676609f0dd7ca90f085f56cf6fd7001b019a5d5b831fca"
+
+S = "${WORKDIR}/Devel-CheckLib-${PV}"
+
+inherit cpan
+
+do_install:append() {
+ # update interpreter on shebang line
+ # since old version env doesn't support multiple arguments, replace option
+ # '-w' with 'use warnings;'
+ sed -i -e "s:^#!.*:#!/usr/bin/env perl:" \
+ -e "/use strict;/ause warnings;" ${D}${bindir}/use-devel-checklib
+}
+
+BBCLASSEXTEND="native"
diff --git a/meta-oe/recipes-devtools/perl/libio-pty-perl_1.12.bb b/meta-oe/recipes-devtools/perl/libio-pty-perl_1.12.bb
deleted file mode 100644
index b1a95e5771..0000000000
--- a/meta-oe/recipes-devtools/perl/libio-pty-perl_1.12.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "Perl module for pseudo tty IO"
-SECTION = "libs"
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-LIC_FILES_CHKSUM = "file://META.yml;beginline=11;endline=12;md5=b2562f94907eeb42e8ce9d45f628e587"
-
-SRC_URI = "http://www.cpan.org/modules/by-module/IO/IO-Tty-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "11695a1a516b3bd1b90ce75ff0ce3e6d"
-SRC_URI[sha256sum] = "a2ef8770d3309178203f8c8ac25e623e63cf76e97830fd3be280ade1a555290d"
-
-S = "${WORKDIR}/IO-Tty-${PV}"
-
-inherit cpan
-
-FILES_${PN}-dbg += "${libdir}/perl/vendor_perl/*/auto/IO/Tty/.debug/"
-
diff --git a/meta-oe/recipes-devtools/perl/libio-pty-perl_1.20.bb b/meta-oe/recipes-devtools/perl/libio-pty-perl_1.20.bb
new file mode 100644
index 0000000000..6029b7aae9
--- /dev/null
+++ b/meta-oe/recipes-devtools/perl/libio-pty-perl_1.20.bb
@@ -0,0 +1,26 @@
+SUMMARY = "Perl module for pseudo tty IO"
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
+LIC_FILES_CHKSUM = "file://META.yml;beginline=11;endline=12;md5=b2562f94907eeb42e8ce9d45f628e587"
+
+SRC_URI = "http://www.cpan.org/modules/by-module/IO/IO-Tty-${PV}.tar.gz"
+
+SRC_URI[sha256sum] = "b15309fc85623893289cb9b2b88dfa9ed1e69156b75f29938553a45be6d730af"
+
+S = "${WORKDIR}/IO-Tty-${PV}"
+
+inherit cpan ptest-perl
+
+RDEPENDS:${PN} += "\
+ perl-module-carp \
+ perl-module-exporter \
+ perl-module-io-handle \
+ perl-module-posix \
+"
+
+RDEPENDS:${PN}-ptest += "\
+ perl-module-test-more \
+"
+
+FILES:${PN}-dbg += "${libdir}/perl/vendor_perl/*/auto/IO/Tty/.debug/"
+
diff --git a/meta-oe/recipes-devtools/perl/libjson-perl_4.03000.bb b/meta-oe/recipes-devtools/perl/libjson-perl_4.03000.bb
new file mode 100644
index 0000000000..88d0d26d03
--- /dev/null
+++ b/meta-oe/recipes-devtools/perl/libjson-perl_4.03000.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Perl module to decode/encode json files"
+DESCRIPTION = "This package contains the JSON.pm module with friends. \
+The module implements JSON encode/decode."
+
+HOMEPAGE = "https://metacpan.org/pod/JSON"
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
+LIC_FILES_CHKSUM = "file://README;beginline=1171;endline=1176;md5=3be2cb8159d094768e67386c453e8bbe"
+
+DEPENDS += "perl"
+
+SRC_URI = "git://github.com/makamaka/JSON.git;protocol=https;branch=master"
+
+SRCREV = "ebbae181c5e311fa80ee4c6379b598c7a6400570"
+
+S = "${WORKDIR}/git"
+
+inherit cpan
+
+RDEPENDS:${PN} += "perl"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-devtools/perl/libparse-yapp-perl_1.21.bb b/meta-oe/recipes-devtools/perl/libparse-yapp-perl_1.21.bb
new file mode 100644
index 0000000000..be9704a313
--- /dev/null
+++ b/meta-oe/recipes-devtools/perl/libparse-yapp-perl_1.21.bb
@@ -0,0 +1,25 @@
+SUMMARY = "Perl extension for generating and using LALR parsers"
+DESCRIPTION = "Parse::Yapp (Yet Another Perl Parser compiler) is a collection \
+of modules that let you generate and use yacc like thread safe (reentrant) parsers \
+with perl object oriented interface."
+
+HOMEPAGE = "http://search.cpan.org/dist/Parse-Yapp/"
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
+
+LIC_FILES_CHKSUM = "file://lib/Parse/Yapp.pm;beginline=508;endline=521;md5=41a4542fcde97a600c9de0d782a90256"
+
+SRC_URI = "https://www.cpan.org/authors/id/W/WB/WBRASWELL/Parse-Yapp-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "69584d5b0f0304bb2a23cffcd982c5de"
+SRC_URI[sha256sum] = "3810e998308fba2e0f4f26043035032b027ce51ce5c8a52a8b8e340ca65f13e5"
+
+S = "${WORKDIR}/Parse-Yapp-${PV}"
+
+inherit cpan
+
+do_install:append() {
+ sed -i "s:^#!.*:#!/usr/bin/env perl:" ${D}${bindir}/yapp
+}
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-devtools/perl/libpcsc-perl_1.4.14.bb b/meta-oe/recipes-devtools/perl/libpcsc-perl_1.4.14.bb
new file mode 100644
index 0000000000..ff4e1f0563
--- /dev/null
+++ b/meta-oe/recipes-devtools/perl/libpcsc-perl_1.4.14.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Perl interface to the PC/SC smart card library"
+DESCRIPTION = "Perl wrapper to the PC/SC smartcard library (pcsc-lite) \
+together with some small examples. \
+The provided modules are Chipcard::PCSC and Chipcard::PCSC::Card."
+HOMEPAGE = "https://metacpan.org/dist/pcsc-perl"
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
+LIC_FILES_CHKSUM = "file://LICENCE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "https://cpan.metacpan.org/authors/id/W/WH/WHOM/pcsc-perl-${PV}.tar.bz2"
+SRC_URI[md5sum] = "45601505dbb7b27329811ac9bad35fab"
+SRC_URI[sha256sum] = "2722b7e5543e4faf3ba1ec6b29a7dfec6d92be1edec09d0a3191992d4d88c69d"
+
+S = "${WORKDIR}/pcsc-perl-${PV}"
+
+inherit cpan pkgconfig
+
+DEPENDS += "pcsc-lite"
+
+RDEPENDS:${PN} += "perl-module-carp"
+
+BBCLASSEXTEND="native"
diff --git a/meta-oe/recipes-devtools/perl/libperlio-gzip-perl_0.20.bb b/meta-oe/recipes-devtools/perl/libperlio-gzip-perl_0.20.bb
new file mode 100644
index 0000000000..11f6a1ad19
--- /dev/null
+++ b/meta-oe/recipes-devtools/perl/libperlio-gzip-perl_0.20.bb
@@ -0,0 +1,30 @@
+SUMMARY = "Perl module to manipulate and access gzip files"
+DESCRIPTION = "This package contains the gzip.pm module with friends. \
+The module implements perlio layer for gzip."
+
+HOMEPAGE = "https://metacpan.org/pod/PerlIO::gzip"
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
+LIC_FILES_CHKSUM = "file://README;beginline=55;endline=61;md5=bc3da2dec1fbea59ac91172c5e0eb837"
+
+DEPENDS += "perl"
+
+SRC_URI = "https://cpan.metacpan.org/authors/id/N/NW/NWCLARK/PerlIO-gzip-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "0393eae5d0b23df6cf40ed44af7d711c"
+SRC_URI[sha256sum] = "4848679a3f201e3f3b0c5f6f9526e602af52923ffa471a2a3657db786bd3bdc5"
+
+S = "${WORKDIR}/PerlIO-gzip-${PV}"
+
+EXTRA_CPANFLAGS = "EXPATLIBPATH=${STAGING_LIBDIR} EXPATINCPATH=${STAGING_INCDIR}"
+
+inherit cpan
+
+do_compile() {
+ export LIBC="$(find ${STAGING_DIR_TARGET}/${base_libdir}/ -name 'libc-*.so')"
+ cpan_do_compile
+}
+
+RDEPENDS:${PN} += "perl perl-module-perlio"
+
+BBCLASSEXTEND = "native nativesdk"