summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorAlexander Kanavin <alex.kanavin@gmail.com>2021-06-04 11:14:53 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2021-06-06 23:16:51 +0100
commit53cf53147fbd8fc6cb870e50572210672d5dbf19 (patch)
tree8a59b937af1413ebdd13af3cd534f936bc153076 /meta
parentd39cef3f8263334b8b9ff1b531fd5e963dfe715b (diff)
downloadpoky-53cf53147fbd8fc6cb870e50572210672d5dbf19.tar.gz
perl: split perl-cross into its own recipe
As perl and perl-cross need to be updated (and patches rebased) in lockstep, devtool upgrade (and therefore AUH) can't cope with it. Manually updating is still possible, but painful. Split determinism.patch into perl and perl-cross parts, move the rest of the perl-cross patches. (From OE-Core rev: 60dcb230f65fb1a0f23341c379676f82213d6240) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/conf/distro/include/maintainers.inc1
-rw-r--r--meta/recipes-devtools/perl-cross/files/0001-configure_path.sh-do-not-hardcode-prefix-lib-as-libr.patch (renamed from meta/recipes-devtools/perl/files/0001-configure_path.sh-do-not-hardcode-prefix-lib-as-libr.patch)0
-rw-r--r--meta/recipes-devtools/perl-cross/files/0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch (renamed from meta/recipes-devtools/perl/files/0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch)0
-rw-r--r--meta/recipes-devtools/perl-cross/files/0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch (renamed from meta/recipes-devtools/perl/files/0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch)0
-rw-r--r--meta/recipes-devtools/perl-cross/files/README.md29
-rw-r--r--meta/recipes-devtools/perl-cross/files/determinism.patch46
-rw-r--r--meta/recipes-devtools/perl-cross/perlcross_1.3.5.bb38
-rw-r--r--meta/recipes-devtools/perl/files/determinism.patch23
-rw-r--r--meta/recipes-devtools/perl/perl_5.32.1.bb17
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>"
558RECIPE_MAINTAINER_pn-pcmanfm = "Alexander Kanavin <alex.kanavin@gmail.com>" 558RECIPE_MAINTAINER_pn-pcmanfm = "Alexander Kanavin <alex.kanavin@gmail.com>"
559RECIPE_MAINTAINER_pn-perf = "Bruce Ashfield <bruce.ashfield@gmail.com>" 559RECIPE_MAINTAINER_pn-perf = "Bruce Ashfield <bruce.ashfield@gmail.com>"
560RECIPE_MAINTAINER_pn-perl = "Alexander Kanavin <alex.kanavin@gmail.com>" 560RECIPE_MAINTAINER_pn-perl = "Alexander Kanavin <alex.kanavin@gmail.com>"
561RECIPE_MAINTAINER_pn-perlcross = "Alexander Kanavin <alex.kanavin@gmail.com>"
561RECIPE_MAINTAINER_pn-piglit = "Ross Burton <ross.burton@arm.com>" 562RECIPE_MAINTAINER_pn-piglit = "Ross Burton <ross.burton@arm.com>"
562RECIPE_MAINTAINER_pn-pigz = "Hongxu Jia <hongxu.jia@windriver.com>" 563RECIPE_MAINTAINER_pn-pigz = "Hongxu Jia <hongxu.jia@windriver.com>"
563RECIPE_MAINTAINER_pn-pinentry = "Armin Kuster <akuster808@gmail.com>" 564RECIPE_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
2and some auxiliary files for [perl](http://www.perl.org),
3with 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
19Unlike mainline Perl, this configure never runs any target executables,
20relying solely on compile/link tests and pre-defined hints.
21On the flip side, it is only meant to run on resonably sane modern unix systems.
22
23Check [project pages](http://arsv.github.io/perl-cross/) for more info.
24In particular, [configure usage](http://arsv.github.io/perl-cross/usage.html)
25lists available configure options.
26
27Perl-cross is a free software licensed under the same terms
28as the original perl source.
29See 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 @@
1Fixes to make the perl build reproducible:
2
3a) 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
7b) 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
11c) 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
15d) 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
19RP 2020/2/7
20
21Upstream-Status: Pending [75% submitted]
22Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org
23
24Index: 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
37Index: 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 @@
1SUMMARY = "Perl-cross build system"
2HOMEPAGE = "https://github.com/arsv/perl-cross"
3DESCRIPTION = "perl-cross provides configure script, top-level Makefile and some auxiliary files for perl, \
4with the primary emphasis on cross-compiling the source."
5SECTION = "devel"
6LICENSE = "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
9LIC_FILES_CHKSUM = "file://${WORKDIR}/README.md;md5=252fcce2026b765fee1ad74d2fb07a3b"
10
11inherit allarch
12
13SRC_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"
20UPSTREAM_CHECK_URI = "https://github.com/arsv/perl-cross/releases/"
21
22SRC_URI[perl-cross.sha256sum] = "91c66f6b2b99fccfd4fee14660b677380b0c98f9456359e91449798c2ad2ef25"
23
24S = "${WORKDIR}/perl-cross-${PV}"
25
26do_configure () {
27}
28
29do_compile () {
30}
31
32do_install_class-native() {
33 mkdir -p ${D}/${datadir}/perl-cross/
34 cp -rf ${S}/* ${D}/${datadir}/perl-cross/
35}
36
37BBCLASSEXTEND = "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
21Upstream-Status: Pending [75% submitted] 21Upstream-Status: Pending [75% submitted]
22Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org 22Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org
23 23
24Index: 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
37Index: perl-5.30.1/cpan/Encode/Byte/Makefile.PL 24Index: 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 }
59Index: 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
11SRC_URI = "https://www.cpan.org/src/5.0/perl-${PV}.tar.gz;name=perl \ 11SRC_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 "
25SRC_URI_append_class-native = " \ 21SRC_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
32SRC_URI[perl.sha256sum] = "03b693901cd8ae807231b1787798cf1f2e0b8a56218d07b7da44f784a7caeb2c" 28SRC_URI[perl.sha256sum] = "03b693901cd8ae807231b1787798cf1f2e0b8a56218d07b7da44f784a7caeb2c"
33SRC_URI[perl-cross.sha256sum] = "91c66f6b2b99fccfd4fee14660b677380b0c98f9456359e91449798c2ad2ef25"
34 29
35S = "${WORKDIR}/perl-${PV}" 30S = "${WORKDIR}/perl-${PV}"
36 31
37inherit upstream-version-is-even update-alternatives 32inherit upstream-version-is-even update-alternatives
38 33
39DEPENDS += "zlib virtual/crypt" 34DEPENDS += "perlcross-native zlib virtual/crypt"
40 35
41PERL_LIB_VER = "${@'.'.join(d.getVar('PV').split('.')[0:2])}.0" 36PERL_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
48export ENC2XS_NO_COMMENTS = "1" 43export ENC2XS_NO_COMMENTS = "1"
49 44
50do_unpack_append() { 45do_configure_prepend() {
51 bb.build.exec_func('do_copy_perlcross', d) 46 cp -rfp ${STAGING_DATADIR_NATIVE}/perl-cross/* ${S}
52}
53
54do_copy_perlcross() {
55 cp -rfp ${WORKDIR}/perl-cross*/* ${S}
56} 47}
57 48
58do_configure_class-target() { 49do_configure_class-target() {