mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-09-29 13:31:43 -09:00
package/perl: apply perl-cross patch only on target perl
Buildroot commit [1] (package/perl: fix build issue with musl)
introduced a patch that is meant to be applied on top of perl-cross,
which is extracted on top of perl only in the target variant.
Since the patch was introduced as a normal package patch, the Buildroot
infra is trying to always apply it, even for the host package variant.
Since perl-cross is not extracted for the host variant, some patched
files are missing. In that case, the host-perl is failing with error:
>>> host-perl 5.42.3 Patching
Applying 0001-configure-keep-_GNU_SOURCE-in-build-flags.patch using patch:
can't find file to patch at input line 46
This commit fixes the issue by moving the package patch in a dedicated
"perl-cross" subdirectory, to make sure it will no longer be applied by
the infra. We apply the patch only for the target package variant using
a _POST_PATCH_HOOKS hook.
Fixes:
- [1]
- https://gitlab.com/buildroot.org/buildroot/-/jobs/16185948610 (TestPerlXMLLibXML)
- ...and few other tests requiring host-perl
[1] d950fff290
Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 8dea6e7c08)
Signed-off-by: Raphaël Mélotte <raphael.melotte@mind.be>
This commit is contained in:
committed by
Raphaël Mélotte
parent
82a3b54ce6
commit
5738c7a254
@@ -32,6 +32,15 @@ define PERL_CROSS_EXTRACT
|
||||
endef
|
||||
PERL_POST_EXTRACT_HOOKS += PERL_CROSS_EXTRACT
|
||||
|
||||
# We need to patch perl-cross, but perl-cross is extracted over the
|
||||
# target perl sources only (and not the host variant). So we apply the
|
||||
# patch only for the target case using a post patch hook.
|
||||
define PERL_CROSS_PATCH
|
||||
$(APPLY_PATCHES) $(@D) $(PERL_PKGDIR)/perl-cross \
|
||||
0001-configure-keep-_GNU_SOURCE-in-build-flags.patch
|
||||
endef
|
||||
PERL_POST_PATCH_HOOKS += PERL_CROSS_PATCH
|
||||
|
||||
# Even though perl is not an autotools-package, it uses config.sub and
|
||||
# config.guess. Up-to-date versions of these files may be needed to build perl
|
||||
# on newer host architectures, so we borrow the hook which updates them from the
|
||||
|
||||
Reference in New Issue
Block a user