aboutsummaryrefslogtreecommitdiff
path: root/lang
diff options
context:
space:
mode:
authorPhilip Prindeville <philipp@redfish-solutions.com>2018-01-25 18:34:32 -0700
committerPhilip Prindeville <philipp@redfish-solutions.com>2018-01-25 18:48:34 -0700
commit1e0db9ba80fe0bd43c2312cf16dc1e2dd3a3e6b1 (patch)
tree255e42f1666b04cac4fa29bfe85a69f839004e8d /lang
parent6973d0e1d8422399762c9034f9e49f7bfa343afa (diff)
perlmod: avoid 'do' semantics and just concatenate
In Perl the 'do' construct has some odd side-effects regarding $@, $!, and return values (i.e. 'do'ing a file which evaluates to undef can be a little ambiguous). Instead, generate a preamble to the Makefile.PL and execute it as stdin. Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
Diffstat (limited to 'lang')
2 files changed, 7 insertions, 6 deletions
diff --git a/lang/perl/Makefile b/lang/perl/Makefile
index 5e20f6cb3..b6111aad4 100644
--- a/lang/perl/Makefile
+++ b/lang/perl/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=perl
PKG_VERSION:=5.26.1
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PKG_SOURCE_URL:=\
https://cpan.metacpan.org/src/5.0 \
diff --git a/lang/perl/perlmod.mk b/lang/perl/perlmod.mk
index 7adf16b1b..551d4532b 100644
--- a/lang/perl/perlmod.mk
+++ b/lang/perl/perlmod.mk
@@ -55,9 +55,10 @@ endef
define perlmod/Configure
(cd $(if $(3),$(3),$(PKG_BUILD_DIR)); \
- PERL_MM_USE_DEFAULT=1 \
- $(2) \
- $(PERL_CMD) -MConfig -e '$$$${tied %Config::Config}{cpprun}="$(GNU_TARGET_NAME)-cpp -E"; do "./Makefile.PL"' \
+ (echo -e 'use Config;\n\n$$$${tied %Config::Config}{cpprun}="$(GNU_TARGET_NAME)-cpp -E";\n' ; cat Makefile.PL) | \
+ PERL_MM_USE_DEFAULT=1 \
+ $(2) \
+ $(PERL_CMD) -I. -- - \
$(1) \
AR=ar \
CC=$(GNU_TARGET_NAME)-gcc \
@@ -103,8 +104,8 @@ define perlmod/Configure
INSTALLVENDORMAN3DIR=" " \
LINKTYPE=dynamic \
DESTDIR=$(PKG_INSTALL_DIR) \
- );
- sed 's!^PERL_INC = .*!PERL_INC = $(STAGING_DIR)/usr/lib/perl5/$(PERL_VERSION)/CORE/!' -i $(if $(3),$(3),$(PKG_BUILD_DIR))/Makefile
+ )
+ sed -i -e 's!^PERL_INC = .*!PERL_INC = $(STAGING_DIR)/usr/lib/perl5/$(PERL_VERSION)/CORE/!' $(if $(3),$(3),$(PKG_BUILD_DIR))/Makefile
endef
define perlmod/Compile