diff options
9 files changed, 118 insertions, 36 deletions
diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc index ee118209db..89dec1f86a 100644 --- a/meta/conf/distro/include/maintainers.inc +++ b/meta/conf/distro/include/maintainers.inc | |||
| @@ -558,6 +558,7 @@ RECIPE_MAINTAINER_pn-pciutils = "Chen Qi <Qi.Chen@windriver.com>" | |||
| 558 | RECIPE_MAINTAINER_pn-pcmanfm = "Alexander Kanavin <alex.kanavin@gmail.com>" | 558 | RECIPE_MAINTAINER_pn-pcmanfm = "Alexander Kanavin <alex.kanavin@gmail.com>" |
| 559 | RECIPE_MAINTAINER_pn-perf = "Bruce Ashfield <bruce.ashfield@gmail.com>" | 559 | RECIPE_MAINTAINER_pn-perf = "Bruce Ashfield <bruce.ashfield@gmail.com>" |
| 560 | RECIPE_MAINTAINER_pn-perl = "Alexander Kanavin <alex.kanavin@gmail.com>" | 560 | RECIPE_MAINTAINER_pn-perl = "Alexander Kanavin <alex.kanavin@gmail.com>" |
| 561 | RECIPE_MAINTAINER_pn-perlcross = "Alexander Kanavin <alex.kanavin@gmail.com>" | ||
| 561 | RECIPE_MAINTAINER_pn-piglit = "Ross Burton <ross.burton@arm.com>" | 562 | RECIPE_MAINTAINER_pn-piglit = "Ross Burton <ross.burton@arm.com>" |
| 562 | RECIPE_MAINTAINER_pn-pigz = "Hongxu Jia <hongxu.jia@windriver.com>" | 563 | RECIPE_MAINTAINER_pn-pigz = "Hongxu Jia <hongxu.jia@windriver.com>" |
| 563 | RECIPE_MAINTAINER_pn-pinentry = "Armin Kuster <akuster808@gmail.com>" | 564 | RECIPE_MAINTAINER_pn-pinentry = "Armin Kuster <akuster808@gmail.com>" |
diff --git a/meta/recipes-devtools/perl/files/0001-configure_path.sh-do-not-hardcode-prefix-lib-as-libr.patch b/meta/recipes-devtools/perl-cross/files/0001-configure_path.sh-do-not-hardcode-prefix-lib-as-libr.patch index 3b0fc453e5..3b0fc453e5 100644 --- a/meta/recipes-devtools/perl/files/0001-configure_path.sh-do-not-hardcode-prefix-lib-as-libr.patch +++ b/meta/recipes-devtools/perl-cross/files/0001-configure_path.sh-do-not-hardcode-prefix-lib-as-libr.patch | |||
diff --git a/meta/recipes-devtools/perl/files/0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch b/meta/recipes-devtools/perl-cross/files/0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch index 0aaeaa29eb..0aaeaa29eb 100644 --- a/meta/recipes-devtools/perl/files/0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch +++ b/meta/recipes-devtools/perl-cross/files/0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch | |||
diff --git a/meta/recipes-devtools/perl/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 index e7985036a0..e7985036a0 100644 --- a/meta/recipes-devtools/perl/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 | |||
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 @@ | |||
| 1 | **perl-cross** provides configure script, top-level Makefile | ||
| 2 | and some auxiliary files for [perl](http://www.perl.org), | ||
| 3 | with the primary emphasis on cross-compiling the source. | ||
| 4 | |||
| 5 | # Get perl and perl-cross sources | ||
| 6 | curl -L -O http://www.cpan.org/src/5.0/perl-5.24.1.tar.gz | ||
| 7 | curl -L -O https://github.com/arsv/perl-cross/releases/download/1.1.3/perl-cross-1.1.3.tar.gz | ||
| 8 | |||
| 9 | # Unpack perl-cross over perl, overwriting Makefile | ||
| 10 | tar -zxf perl-5.24.1.tar.gz | ||
| 11 | cd perl-5.24.1 | ||
| 12 | tar --strip-components=1 -zxf ../perl-cross-1.1.3.tar.gz | ||
| 13 | |||
| 14 | # Proceed as usual with most autoconfed packages | ||
| 15 | ./configure --target=arm-linux-gnueabi --prefix=/usr -Duseshrplib | ||
| 16 | make -j4 | ||
| 17 | make DESTDIR=/path/to/staging/dir install | ||
| 18 | |||
| 19 | Unlike mainline Perl, this configure never runs any target executables, | ||
| 20 | relying solely on compile/link tests and pre-defined hints. | ||
| 21 | On the flip side, it is only meant to run on resonably sane modern unix systems. | ||
| 22 | |||
| 23 | Check [project pages](http://arsv.github.io/perl-cross/) for more info. | ||
| 24 | In particular, [configure usage](http://arsv.github.io/perl-cross/usage.html) | ||
| 25 | lists available configure options. | ||
| 26 | |||
| 27 | Perl-cross is a free software licensed under the same terms | ||
| 28 | as the original perl source. | ||
| 29 | 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 @@ | |||
| 1 | Fixes to make the perl build reproducible: | ||
| 2 | |||
| 3 | a) Remove the \n from configure_attr.sh since it gets quoted differently depending on | ||
| 4 | whether the shell is bash or dash which can cause the test result to be incorrect. | ||
| 5 | Reported upstream: https://github.com/arsv/perl-cross/issues/87 | ||
| 6 | |||
| 7 | b) Sort the order of the module lists from configure_mods.sh since otherwise | ||
| 8 | the result isn't the same leading to makefile differences. | ||
| 9 | Reported upstream: https://github.com/arsv/perl-cross/issues/88 | ||
| 10 | |||
| 11 | c) Sort the Encode::Byte byte_t.fnm file output (and the makefile depends whilst | ||
| 12 | there for good measure) | ||
| 13 | This needs to go to upstream perl (not done) | ||
| 14 | |||
| 15 | d) Use bash for perl-cross configure since otherwise trnl gets set to "\n" with bash | ||
| 16 | and "" with dash | ||
| 17 | Reported upstream: https://github.com/arsv/perl-cross/issues/87 | ||
| 18 | |||
| 19 | RP 2020/2/7 | ||
| 20 | |||
| 21 | Upstream-Status: Pending [75% submitted] | ||
| 22 | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org | ||
| 23 | |||
| 24 | Index: perl-5.30.1/cnf/configure_mods.sh | ||
| 25 | =================================================================== | ||
| 26 | --- perl-5.30.1.orig/cnf/configure_mods.sh | ||
| 27 | +++ perl-5.30.1/cnf/configure_mods.sh | ||
| 28 | @@ -82,7 +82,7 @@ extonlyif() { | ||
| 29 | } | ||
| 30 | |||
| 31 | definetrimspaces() { | ||
| 32 | - v=`echo "$2" | sed -r -e 's/\s+/ /g' -e 's/^\s+//' -e 's/\s+$//'` | ||
| 33 | + v=`echo "$2" | sed -r -e 's/\s+/ /g' -e 's/^\s+//' -e 's/\s+$//' | xargs -n1 | LANG=C sort | xargs` | ||
| 34 | define $1 "$v" | ||
| 35 | } | ||
| 36 | |||
| 37 | Index: perl-5.30.1/cnf/configure | ||
| 38 | =================================================================== | ||
| 39 | --- perl-5.30.1.orig/cnf/configure | ||
| 40 | +++ perl-5.30.1/cnf/configure | ||
| 41 | @@ -1,4 +1,4 @@ | ||
| 42 | -#!/bin/sh | ||
| 43 | +#!/bin/bash | ||
| 44 | |||
| 45 | base=${0%/*}; test -z "$base" && base=. | ||
| 46 | |||
diff --git a/meta/recipes-devtools/perl-cross/perlcross_1.3.5.bb b/meta/recipes-devtools/perl-cross/perlcross_1.3.5.bb new file mode 100644 index 0000000000..0d81d4d0f1 --- /dev/null +++ b/meta/recipes-devtools/perl-cross/perlcross_1.3.5.bb | |||
| @@ -0,0 +1,38 @@ | |||
| 1 | SUMMARY = "Perl-cross build system" | ||
| 2 | HOMEPAGE = "https://github.com/arsv/perl-cross" | ||
| 3 | DESCRIPTION = "perl-cross provides configure script, top-level Makefile and some auxiliary files for perl, \ | ||
| 4 | with the primary emphasis on cross-compiling the source." | ||
| 5 | SECTION = "devel" | ||
| 6 | LICENSE = "Artistic-1.0 | GPL-1.0+" | ||
| 7 | # README.md is taken from https://github.com/arsv/perl-cross/blob/master/README.md | ||
| 8 | # but is not provided inside the release tarballs | ||
| 9 | LIC_FILES_CHKSUM = "file://${WORKDIR}/README.md;md5=252fcce2026b765fee1ad74d2fb07a3b" | ||
| 10 | |||
| 11 | inherit allarch | ||
| 12 | |||
| 13 | SRC_URI = "https://github.com/arsv/perl-cross/releases/download/${PV}/perl-cross-${PV}.tar.gz;name=perl-cross \ | ||
| 14 | file://README.md \ | ||
| 15 | file://0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch \ | ||
| 16 | file://0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch \ | ||
| 17 | file://0001-configure_path.sh-do-not-hardcode-prefix-lib-as-libr.patch \ | ||
| 18 | file://determinism.patch \ | ||
| 19 | " | ||
| 20 | UPSTREAM_CHECK_URI = "https://github.com/arsv/perl-cross/releases/" | ||
| 21 | |||
| 22 | SRC_URI[perl-cross.sha256sum] = "91c66f6b2b99fccfd4fee14660b677380b0c98f9456359e91449798c2ad2ef25" | ||
| 23 | |||
| 24 | S = "${WORKDIR}/perl-cross-${PV}" | ||
| 25 | |||
| 26 | do_configure () { | ||
| 27 | } | ||
| 28 | |||
| 29 | do_compile () { | ||
| 30 | } | ||
| 31 | |||
| 32 | do_install_class-native() { | ||
| 33 | mkdir -p ${D}/${datadir}/perl-cross/ | ||
| 34 | cp -rf ${S}/* ${D}/${datadir}/perl-cross/ | ||
| 35 | } | ||
| 36 | |||
| 37 | BBCLASSEXTEND = "native" | ||
| 38 | |||
diff --git a/meta/recipes-devtools/perl/files/determinism.patch b/meta/recipes-devtools/perl/files/determinism.patch index ccdd52a0d0..aa85ccef10 100644 --- a/meta/recipes-devtools/perl/files/determinism.patch +++ b/meta/recipes-devtools/perl/files/determinism.patch | |||
| @@ -21,19 +21,6 @@ RP 2020/2/7 | |||
| 21 | Upstream-Status: Pending [75% submitted] | 21 | Upstream-Status: Pending [75% submitted] |
| 22 | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org | 22 | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org |
| 23 | 23 | ||
| 24 | Index: perl-5.30.1/cnf/configure_mods.sh | ||
| 25 | =================================================================== | ||
| 26 | --- perl-5.30.1.orig/cnf/configure_mods.sh | ||
| 27 | +++ perl-5.30.1/cnf/configure_mods.sh | ||
| 28 | @@ -82,7 +82,7 @@ extonlyif() { | ||
| 29 | } | ||
| 30 | |||
| 31 | definetrimspaces() { | ||
| 32 | - v=`echo "$2" | sed -r -e 's/\s+/ /g' -e 's/^\s+//' -e 's/\s+$//'` | ||
| 33 | + v=`echo "$2" | sed -r -e 's/\s+/ /g' -e 's/^\s+//' -e 's/\s+$//' | xargs -n1 | LANG=C sort | xargs` | ||
| 34 | define $1 "$v" | ||
| 35 | } | ||
| 36 | |||
| 37 | Index: perl-5.30.1/cpan/Encode/Byte/Makefile.PL | 24 | Index: perl-5.30.1/cpan/Encode/Byte/Makefile.PL |
| 38 | =================================================================== | 25 | =================================================================== |
| 39 | --- perl-5.30.1.orig/cpan/Encode/Byte/Makefile.PL | 26 | --- perl-5.30.1.orig/cpan/Encode/Byte/Makefile.PL |
| @@ -56,13 +43,3 @@ Index: perl-5.30.1/cpan/Encode/Byte/Makefile.PL | |||
| 56 | { | 43 | { |
| 57 | print FILELIST $self->catfile($dir,$file) . "\n"; | 44 | print FILELIST $self->catfile($dir,$file) . "\n"; |
| 58 | } | 45 | } |
| 59 | Index: perl-5.30.1/cnf/configure | ||
| 60 | =================================================================== | ||
| 61 | --- perl-5.30.1.orig/cnf/configure | ||
| 62 | +++ perl-5.30.1/cnf/configure | ||
| 63 | @@ -1,4 +1,4 @@ | ||
| 64 | -#!/bin/sh | ||
| 65 | +#!/bin/bash | ||
| 66 | |||
| 67 | base=${0%/*}; test -z "$base" && base=. | ||
| 68 | |||
diff --git a/meta/recipes-devtools/perl/perl_5.32.1.bb b/meta/recipes-devtools/perl/perl_5.32.1.bb index b28040c7fb..01db924a73 100644 --- a/meta/recipes-devtools/perl/perl_5.32.1.bb +++ b/meta/recipes-devtools/perl/perl_5.32.1.bb | |||
| @@ -9,18 +9,14 @@ LIC_FILES_CHKSUM = "file://Copying;md5=5b122a36d0f6dc55279a0ebc69f3c60b \ | |||
| 9 | 9 | ||
| 10 | 10 | ||
| 11 | SRC_URI = "https://www.cpan.org/src/5.0/perl-${PV}.tar.gz;name=perl \ | 11 | SRC_URI = "https://www.cpan.org/src/5.0/perl-${PV}.tar.gz;name=perl \ |
| 12 | https://github.com/arsv/perl-cross/releases/download/1.3.5/perl-cross-1.3.5.tar.gz;name=perl-cross \ | ||
| 13 | file://perl-rdepends.txt \ | 12 | file://perl-rdepends.txt \ |
| 14 | file://0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch \ | ||
| 15 | file://0001-ExtUtils-MakeMaker-add-LDFLAGS-when-linking-binary-m.patch \ | 13 | file://0001-ExtUtils-MakeMaker-add-LDFLAGS-when-linking-binary-m.patch \ |
| 16 | file://0001-Somehow-this-module-breaks-through-the-perl-wrapper-.patch \ | 14 | file://0001-Somehow-this-module-breaks-through-the-perl-wrapper-.patch \ |
| 17 | file://errno_ver.diff \ | 15 | file://errno_ver.diff \ |
| 18 | file://native-perlinc.patch \ | 16 | file://native-perlinc.patch \ |
| 19 | file://0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch \ | ||
| 20 | file://perl-dynloader.patch \ | 17 | file://perl-dynloader.patch \ |
| 21 | file://0001-configure_path.sh-do-not-hardcode-prefix-lib-as-libr.patch \ | ||
| 22 | file://0002-Constant-Fix-up-shebang.patch \ | 18 | file://0002-Constant-Fix-up-shebang.patch \ |
| 23 | file://determinism.patch \ | 19 | file://determinism.patch \ |
| 24 | " | 20 | " |
| 25 | SRC_URI_append_class-native = " \ | 21 | SRC_URI_append_class-native = " \ |
| 26 | file://perl-configpm-switch.patch \ | 22 | file://perl-configpm-switch.patch \ |
| @@ -30,13 +26,12 @@ SRC_URI_append_class-target = " \ | |||
| 30 | " | 26 | " |
| 31 | 27 | ||
| 32 | SRC_URI[perl.sha256sum] = "03b693901cd8ae807231b1787798cf1f2e0b8a56218d07b7da44f784a7caeb2c" | 28 | SRC_URI[perl.sha256sum] = "03b693901cd8ae807231b1787798cf1f2e0b8a56218d07b7da44f784a7caeb2c" |
| 33 | SRC_URI[perl-cross.sha256sum] = "91c66f6b2b99fccfd4fee14660b677380b0c98f9456359e91449798c2ad2ef25" | ||
| 34 | 29 | ||
| 35 | S = "${WORKDIR}/perl-${PV}" | 30 | S = "${WORKDIR}/perl-${PV}" |
| 36 | 31 | ||
| 37 | inherit upstream-version-is-even update-alternatives | 32 | inherit upstream-version-is-even update-alternatives |
| 38 | 33 | ||
| 39 | DEPENDS += "zlib virtual/crypt" | 34 | DEPENDS += "perlcross-native zlib virtual/crypt" |
| 40 | 35 | ||
| 41 | PERL_LIB_VER = "${@'.'.join(d.getVar('PV').split('.')[0:2])}.0" | 36 | PERL_LIB_VER = "${@'.'.join(d.getVar('PV').split('.')[0:2])}.0" |
| 42 | 37 | ||
| @@ -47,12 +42,8 @@ PACKAGECONFIG[gdbm] = ",-Ui_gdbm,gdbm" | |||
| 47 | # Don't generate comments in enc2xs output files. They are not reproducible | 42 | # Don't generate comments in enc2xs output files. They are not reproducible |
| 48 | export ENC2XS_NO_COMMENTS = "1" | 43 | export ENC2XS_NO_COMMENTS = "1" |
| 49 | 44 | ||
| 50 | do_unpack_append() { | 45 | do_configure_prepend() { |
| 51 | bb.build.exec_func('do_copy_perlcross', d) | 46 | cp -rfp ${STAGING_DATADIR_NATIVE}/perl-cross/* ${S} |
| 52 | } | ||
| 53 | |||
| 54 | do_copy_perlcross() { | ||
| 55 | cp -rfp ${WORKDIR}/perl-cross*/* ${S} | ||
| 56 | } | 47 | } |
| 57 | 48 | ||
| 58 | do_configure_class-target() { | 49 | do_configure_class-target() { |
