diff options
Diffstat (limited to 'meta/recipes-devtools/perl-cross/files')
4 files changed, 131 insertions, 0 deletions
diff --git a/meta/recipes-devtools/perl-cross/files/0001-Makefile-check-the-file-if-patched-or-not.patch b/meta/recipes-devtools/perl-cross/files/0001-Makefile-check-the-file-if-patched-or-not.patch new file mode 100644 index 0000000000..4e9153ebf1 --- /dev/null +++ b/meta/recipes-devtools/perl-cross/files/0001-Makefile-check-the-file-if-patched-or-not.patch @@ -0,0 +1,29 @@ +From 3eb33dce6e3c93e1b3efcc9649f871100adada30 Mon Sep 17 00:00:00 2001 +From: Mingli Yu <mingli.yu@windriver.com> +Date: Fri, 2 Jul 2021 09:08:21 +0000 +Subject: [PATCH] Makefile: check the file if patched or not + +Check the file if patched or not to avoid patched more than +one time. + +Upstream-Status: Inappropriate (OE-specific) + +Signed-off-by: Mingli Yu <mingli.yu@windriver.com> + +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index c6d6042..d137976 100644 +--- a/Makefile ++++ b/Makefile +@@ -67,7 +67,7 @@ miniperlmain$O: $(CROSSPATCHED) + # Original versions are not saved anymore; patch generally takes care of this, + # and if that fails, reaching for the source tarball is the safest option. + $(CROSSPATCHED): %.applied: %.patch +- $(cpatch) -p1 -i $< && touch $@ ++ test ! -f $@ && ($(cpatch) -p1 -i $< && touch $@) || echo "$@ exist" + + # ---[ common ]----------------------------------------------------------------- + diff --git a/meta/recipes-devtools/perl-cross/files/0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch b/meta/recipes-devtools/perl-cross/files/0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch new file mode 100644 index 0000000000..6c3f08c432 --- /dev/null +++ b/meta/recipes-devtools/perl-cross/files/0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch @@ -0,0 +1,27 @@ +From f824cbec9ac8f113a4ae35d57bd18625d415a71b Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Tue, 27 Nov 2018 15:37:40 +0100 +Subject: [PATCH] perl-cross: add LDFLAGS when linking libperl + +Upstream-Status: Submitted [https://github.com/arsv/perl-cross/pull/122] +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 01644cd..be811a7 100644 +--- a/Makefile ++++ b/Makefile +@@ -180,7 +180,7 @@ endif + + ifeq ($(useshrplib),true) + $(LIBPERL): +- $(CC) $(LDDLFLAGS) -o $@ $(filter %$o,$^) $(LIBS) ++ $(CC) $(LDFLAGS) $(LDDLFLAGS) -o $@ $(filter %$o,$^) $(LIBS) + else + $(LIBPERL): + $(AR) cru $@ $(filter %$o,$^) +-- +2.17.1 + diff --git a/meta/recipes-devtools/perl-cross/files/README.md b/meta/recipes-devtools/perl-cross/files/README.md new file mode 100644 index 0000000000..93217245c8 --- /dev/null +++ b/meta/recipes-devtools/perl-cross/files/README.md @@ -0,0 +1,29 @@ +**perl-cross** provides configure script, top-level Makefile +and some auxiliary files for [perl](http://www.perl.org), +with the primary emphasis on cross-compiling the source. + + # Get perl and perl-cross sources + curl -L -O http://www.cpan.org/src/5.0/perl-5.24.1.tar.gz + curl -L -O https://github.com/arsv/perl-cross/releases/download/1.1.3/perl-cross-1.1.3.tar.gz + + # Unpack perl-cross over perl, overwriting Makefile + tar -zxf perl-5.24.1.tar.gz + cd perl-5.24.1 + tar --strip-components=1 -zxf ../perl-cross-1.1.3.tar.gz + + # Proceed as usual with most autoconfed packages + ./configure --target=arm-linux-gnueabi --prefix=/usr -Duseshrplib + make -j4 + make DESTDIR=/path/to/staging/dir install + +Unlike mainline Perl, this configure never runs any target executables, +relying solely on compile/link tests and pre-defined hints. +On the flip side, it is only meant to run on resonably sane modern unix systems. + +Check [project pages](http://arsv.github.io/perl-cross/) for more info. +In particular, [configure usage](http://arsv.github.io/perl-cross/usage.html) +lists available configure options. + +Perl-cross is a free software licensed under the same terms +as the original perl source. +See LICENSE, Copying and Artistic files. diff --git a/meta/recipes-devtools/perl-cross/files/determinism.patch b/meta/recipes-devtools/perl-cross/files/determinism.patch new file mode 100644 index 0000000000..e9bf752bcb --- /dev/null +++ b/meta/recipes-devtools/perl-cross/files/determinism.patch @@ -0,0 +1,46 @@ +Fixes to make the perl build reproducible: + +a) Remove the \n from configure_attr.sh since it gets quoted differently depending on + whether the shell is bash or dash which can cause the test result to be incorrect. + Reported upstream: https://github.com/arsv/perl-cross/issues/87 + +b) Sort the order of the module lists from configure_mods.sh since otherwise + the result isn't the same leading to makefile differences. + Reported upstream: https://github.com/arsv/perl-cross/issues/88 + +c) Sort the Encode::Byte byte_t.fnm file output (and the makefile depends whilst + there for good measure) + This needs to go to upstream perl (not done) + +d) Use bash for perl-cross configure since otherwise trnl gets set to "\n" with bash + and "" with dash + Reported upstream: https://github.com/arsv/perl-cross/issues/87 + +RP 2020/2/7 + +Upstream-Status: Pending [75% submitted] +Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org + +Index: perl-5.30.1/cnf/configure_mods.sh +=================================================================== +--- perl-5.30.1.orig/cnf/configure_mods.sh ++++ perl-5.30.1/cnf/configure_mods.sh +@@ -82,7 +82,7 @@ extonlyif() { + } + + definetrimspaces() { +- v=`echo "$2" | sed -r -e 's/\s+/ /g' -e 's/^\s+//' -e 's/\s+$//'` ++ v=`echo "$2" | sed -r -e 's/\s+/ /g' -e 's/^\s+//' -e 's/\s+$//' | xargs -n1 | LANG=C sort | xargs` + define $1 "$v" + } + +Index: perl-5.30.1/cnf/configure +=================================================================== +--- perl-5.30.1.orig/cnf/configure ++++ perl-5.30.1/cnf/configure +@@ -1,4 +1,4 @@ +-#!/bin/sh ++#!/bin/bash + + base=${0%/*}; test -z "$base" && base=. + |