diff --git a/meta/recipes-devtools/perl/files/0001-CheckLib.pm-do-not-attempt-to-run-a-cross-executable.patch b/meta/recipes-devtools/perl/files/0001-CheckLib.pm-do-not-attempt-to-run-a-cross-executable.patch deleted file mode 100644 index c5bbe7888edb..000000000000 --- a/meta/recipes-devtools/perl/files/0001-CheckLib.pm-do-not-attempt-to-run-a-cross-executable.patch +++ /dev/null @@ -1,24 +0,0 @@ -From a033c9ece12b6eead48eed63f106ccdec6159b0c Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Fri, 20 Dec 2019 16:26:55 +0100 -Subject: [PATCH] CheckLib.pm: do not attempt to run a cross executable - -Upstream-Status: Inappropriate [oe-core specific] -Signed-off-by: Alexander Kanavin ---- - inc/Devel/CheckLib.pm | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/inc/Devel/CheckLib.pm b/inc/Devel/CheckLib.pm -index 36a451a..b04acc1 100644 ---- a/inc/Devel/CheckLib.pm -+++ b/inc/Devel/CheckLib.pm -@@ -330,7 +330,7 @@ sub assert_lib { - push @missing, $lib if $rv != 0 || !-x $exefile; - my $absexefile = File::Spec->rel2abs($exefile); - $absexefile = '"' . $absexefile . '"' if $absexefile =~ m/\s/; -- push @wrongresult, $lib if $rv == 0 && -x $exefile && system($absexefile) != 0; -+ push @wrongresult, $lib if $rv == 0 && -x $exefile && 0 != 0; - unlink $ofile if -e $ofile; - _cleanup_exe($exefile); - } diff --git a/meta/recipes-devtools/perl/libxml-parser-perl/0001-Makefile.PL-make-check_lib-cross-friendly.patch b/meta/recipes-devtools/perl/libxml-parser-perl/0001-Makefile.PL-make-check_lib-cross-friendly.patch new file mode 100644 index 000000000000..457fb7738435 --- /dev/null +++ b/meta/recipes-devtools/perl/libxml-parser-perl/0001-Makefile.PL-make-check_lib-cross-friendly.patch @@ -0,0 +1,28 @@ +From bd9b0e10843da72276982bd1394ade734fea0289 Mon Sep 17 00:00:00 2001 +From: Tim Orling +Date: Fri, 2 Feb 2024 21:15:34 -0800 +Subject: [PATCH] Makefile.PL: make check_lib cross friendly + +lib => qw(expat) does not seem to respect EXPATLIBPATH and +EXPATINCPATH when we are cross-compiling. + +Upstream-Status: Inappropriate [OE specific] + +Signed-off-by: Tim Orling +--- + Makefile.PL | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile.PL b/Makefile.PL +index 505d1df..19f428b 100644 +--- a/Makefile.PL ++++ b/Makefile.PL +@@ -30,7 +30,7 @@ foreach (@ARGV) { + + unless ( + check_lib( # fill in what you prompted the user for here +- lib => [qw(expat)], ++ #lib => [qw(expat)], + header => ['expat.h'], + incpath => $expat_incpath, + ( $expat_libpath ? ( libpath => $expat_libpath ) : () ), diff --git a/meta/recipes-devtools/perl/libxml-parser-perl_2.46.bb b/meta/recipes-devtools/perl/libxml-parser-perl_2.46.bb deleted file mode 100644 index 6cd40bd29298..000000000000 --- a/meta/recipes-devtools/perl/libxml-parser-perl_2.46.bb +++ /dev/null @@ -1,59 +0,0 @@ -SUMMARY = "XML::Parser - A perl module for parsing XML documents" -HOMEPAGE = "https://libexpat.github.io/" -SECTION = "libs" -LICENSE = "Artistic-1.0 | GPL-1.0-or-later" -LIC_FILES_CHKSUM = "file://Parser.pm;beginline=1;endline=7;md5=d12cc778c80fc4c518f0e5dee29fd5fb" - -DEPENDS += "expat" - -SRC_URI = "http://www.cpan.org/modules/by-module/XML/XML-Parser-${PV}.tar.gz \ - file://ptest-perl/run-ptest \ - file://0001-CheckLib.pm-do-not-attempt-to-run-a-cross-executable.patch \ - " -SRC_URI[md5sum] = "80bb18a8e6240fcf7ec2f7b57601c170" -SRC_URI[sha256sum] = "d331332491c51cccfb4cb94ffc44f9cd73378e618498d4a37df9e043661c515d" - -S = "${WORKDIR}/XML-Parser-${PV}" - -EXTRA_CPANFLAGS = "EXPATLIBPATH=${STAGING_LIBDIR} EXPATINCPATH=${STAGING_INCDIR} CC='${CC}' LD='${CCLD}' FULL_AR='${AR}'" - -inherit cpan ptest-perl - -# fix up sub MakeMaker project as arguments don't get propagated though -# see https://rt.cpan.org/Public/Bug/Display.html?id=28632 -do_configure:append:class-target() { - sed -E \ - -e 's:-L${STAGING_LIBDIR}::g' -e 's:-I${STAGING_INCDIR}::g' \ - -i Makefile Expat/Makefile -} - -do_configure:append() { - sed -e 's:--sysroot=.*\(\s\|$\):--sysroot=${STAGING_DIR_TARGET} :g' \ - -i Makefile Expat/Makefile - sed 's:^FULL_AR = .*:FULL_AR = ${AR}:g' -i Expat/Makefile - # make sure these two do not build in parallel - sed 's!^$(INST_DYNAMIC):!$(INST_DYNAMIC): $(BOOTSTRAP)!' -i Expat/Makefile -} - -do_compile() { - export LIBC="$(find ${STAGING_DIR_TARGET}/${base_libdir}/ -name 'libc-*.so')" - cpan_do_compile -} - -do_compile:class-native() { - cpan_do_compile -} - -do_install_ptest() { - sed -i -e "s:/usr/local/bin/perl:/usr/bin/perl:g" ${B}/samples/xmlstats - sed -i -e "s:/usr/local/bin/perl:/usr/bin/perl:g" ${B}/samples/xmlfilter - sed -i -e "s:/usr/local/bin/perl:/usr/bin/perl:g" ${B}/samples/xmlcomments - sed -i -e "s:/usr/local/bin/perl:/usr/bin/perl:g" ${B}/samples/canonical - cp -r ${B}/samples ${D}${PTEST_PATH} - chown -R root:root ${D}${PTEST_PATH}/samples -} - -RDEPENDS:${PN} += "perl-module-carp perl-module-file-spec" -RDEPENDS:${PN}-ptest += "perl-module-filehandle perl-module-if perl-module-test perl-module-test-more" - -BBCLASSEXTEND="native nativesdk" diff --git a/meta/recipes-devtools/perl/libxml-parser-perl_2.47.bb b/meta/recipes-devtools/perl/libxml-parser-perl_2.47.bb new file mode 100644 index 000000000000..cffc133a450d --- /dev/null +++ b/meta/recipes-devtools/perl/libxml-parser-perl_2.47.bb @@ -0,0 +1,42 @@ +SUMMARY = "XML::Parser - A perl module for parsing XML documents" +HOMEPAGE = "https://libexpat.github.io/" +SECTION = "libs" +LICENSE = "Artistic-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=4342f85bf14a1fdd6a751573f1e61c03" + +DEPENDS += "expat" + +SRC_URI = "${CPAN_MIRROR}/modules/by-module/XML/XML-Parser-${PV}.tar.gz \ + file://0001-Makefile.PL-make-check_lib-cross-friendly.patch \ + " + +SRC_URI[sha256sum] = "ad4aae643ec784f489b956abe952432871a622d4e2b5c619e8855accbfc4d1d8" + +S = "${WORKDIR}/XML-Parser-${PV}" + +EXTRA_CPANFLAGS = "EXPATLIBPATH=${STAGING_LIBDIR} EXPATINCPATH=${STAGING_INCDIR} CC='${CC}' LD='${CCLD}' FULL_AR='${AR}'" + +inherit cpan pkgconfig ptest-perl + +do_compile() { + export LIBC="$(find ${STAGING_DIR_TARGET}/${base_libdir}/ -name 'libc-*.so')" + cpan_do_compile +} + +do_compile:class-native() { + cpan_do_compile +} + +do_install_ptest() { + sed -i -e "s:/usr/local/bin/perl:/usr/bin/perl:g" ${B}/samples/xmlstats + sed -i -e "s:/usr/local/bin/perl:/usr/bin/perl:g" ${B}/samples/xmlfilter + sed -i -e "s:/usr/local/bin/perl:/usr/bin/perl:g" ${B}/samples/xmlcomments + sed -i -e "s:/usr/local/bin/perl:/usr/bin/perl:g" ${B}/samples/canonical + cp -r ${B}/samples ${D}${PTEST_PATH} + chown -R root:root ${D}${PTEST_PATH}/samples +} + +RDEPENDS:${PN} += "perl-module-carp perl-module-file-spec" +RDEPENDS:${PN}-ptest += "perl-module-filehandle perl-module-if perl-module-test perl-module-test-more" + +BBCLASSEXTEND="native nativesdk"