Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] perl: change config
@ 2021-09-24 14:51 dkwo
  2021-09-24 15:01 ` [wip/rfc] " leahneukirchen
                   ` (15 more replies)
  0 siblings, 16 replies; 17+ messages in thread
From: dkwo @ 2021-09-24 14:51 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 486 bytes --]

There is a new pull request by dkwo against master on the void-packages repository

https://github.com/dkwo/void-packages perl
https://github.com/void-linux/void-packages/pull/33089

perl: change config
at least when not cross-compiling, using Configure instead of configure
gets rid of test errors on musl and i686

only one error left, in my local tests

Do you think this is worth changing?


A patch file from https://github.com/void-linux/void-packages/pull/33089.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-perl-33089.patch --]
[-- Type: text/x-diff, Size: 1722 bytes --]

From e219e8bc1fe36c0e05d90d0e4516858a96dfd8a8 Mon Sep 17 00:00:00 2001
From: dkwo <nicolopiazzalunga@gmail.com>
Date: Fri, 24 Sep 2021 15:07:06 +0200
Subject: [PATCH] perl: change config

---
 srcpkgs/perl/template | 31 ++++++++++++++++++-------------
 1 file changed, 18 insertions(+), 13 deletions(-)

diff --git a/srcpkgs/perl/template b/srcpkgs/perl/template
index da223660988a..4150aa9d8b8d 100644
--- a/srcpkgs/perl/template
+++ b/srcpkgs/perl/template
@@ -160,10 +160,6 @@ do_configure() {
 		-Dman3dir=/usr/share/man/man3
 		-Dd_sockaddr_in6=define"
 
-	if [ "$CROSS_BUILD" ]; then
-		_args+=" --target=$XBPS_CROSS_TRIPLET"
-	fi
-
 	LDFLAGS+=" -Wl,-z,stack-size=2097152 -pthread"
 	export HOSTLDFLAGS+=" -pthread"
 
@@ -175,15 +171,24 @@ do_configure() {
 	fi
 
 	export LD="$CC"
-	./configure --prefix=/usr $_args \
-		-Dcccdlflags="-fPIC" \
-		-Doptimize=" -Wall ${CFLAGS} " -Dccflags=" ${CFLAGS} " \
-		-Dlddlflags="-shared ${LDFLAGS}" -Dldflags="${LDFLAGS}" \
-		-Dperl_static_inline='static __inline__' -Dd_static_inline ||
-	{
-		cat ./config.log
-		return 42
-	}
+	if [ "$CROSS_BUILD" ]; then
+		_args+=" --target=$XBPS_CROSS_TRIPLET"
+		./configure --prefix=/usr $_args \
+			-Dcccdlflags="-fPIC" \
+			-Doptimize=" -Wall ${CFLAGS} " -Dccflags=" ${CFLAGS} " \
+			-Dlddlflags="-shared ${LDFLAGS}" -Dldflags="${LDFLAGS}" \
+			-Dperl_static_inline='static __inline__' -Dd_static_inline ||
+		{
+			cat ./config.log
+			return 42
+		}
+	else
+		./Configure -des $_args \
+			-Dcccdlflags="-fPIC" \
+			-Doptimize=" -Wall ${CFLAGS} " -Dccflags=" ${CFLAGS} " \
+			-Dlddlflags="-shared ${LDFLAGS}" -Dldflags="${LDFLAGS}" \
+			-Dperl_static_inline='static __inline__' -Dd_static_inline
+	fi
 }
 
 do_check() {

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [wip/rfc] perl: change config
  2021-09-24 14:51 [PR PATCH] perl: change config dkwo
@ 2021-09-24 15:01 ` leahneukirchen
  2021-09-24 15:25 ` dkwo
                   ` (14 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: leahneukirchen @ 2021-09-24 15:01 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 312 bytes --]

New comment by leahneukirchen on void-packages repository

https://github.com/void-linux/void-packages/pull/33089#issuecomment-926697097

Comment:
I'm not a big fan as this will change behavior between native and cross builds too much... can you diff the config.h to see why perl-cross results in test failures?

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [wip/rfc] perl: change config
  2021-09-24 14:51 [PR PATCH] perl: change config dkwo
  2021-09-24 15:01 ` [wip/rfc] " leahneukirchen
@ 2021-09-24 15:25 ` dkwo
  2021-09-24 15:25 ` dkwo
                   ` (13 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: dkwo @ 2021-09-24 15:25 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 230 bytes --]

New comment by dkwo on void-packages repository

https://github.com/void-linux/void-packages/pull/33089#issuecomment-926715677

Comment:
Sure, that's an option, but let me first see what happens if I use Configure for everything.

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [wip/rfc] perl: change config
  2021-09-24 14:51 [PR PATCH] perl: change config dkwo
  2021-09-24 15:01 ` [wip/rfc] " leahneukirchen
  2021-09-24 15:25 ` dkwo
@ 2021-09-24 15:25 ` dkwo
  2021-09-24 15:29 ` [PR PATCH] [Updated] " dkwo
                   ` (12 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: dkwo @ 2021-09-24 15:25 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 232 bytes --]

New comment by dkwo on void-packages repository

https://github.com/void-linux/void-packages/pull/33089#issuecomment-926715677

Comment:
Sure, that's an option, but let me first see what happens if I use `Configure` for everything.

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PR PATCH] [Updated] [wip/rfc] perl: change config
  2021-09-24 14:51 [PR PATCH] perl: change config dkwo
                   ` (2 preceding siblings ...)
  2021-09-24 15:25 ` dkwo
@ 2021-09-24 15:29 ` dkwo
  2021-09-24 15:31 ` dkwo
                   ` (11 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: dkwo @ 2021-09-24 15:29 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 601 bytes --]

There is an updated pull request by dkwo against master on the void-packages repository

https://github.com/dkwo/void-packages perl
https://github.com/void-linux/void-packages/pull/33089

[wip/rfc] perl: change config
At least when not cross-compiling, using `Configure` instead of `configure` gets rid of test errors on musl and i686.
Only one error left, the same for everybody:
```
Failed 1 test out of 2534, 99.96% okay.
	porting/checkcase.t
```
Do you think this is worth changing? @leahneukirchen 

A patch file from https://github.com/void-linux/void-packages/pull/33089.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-perl-33089.patch --]
[-- Type: text/x-diff, Size: 1738 bytes --]

From c646c7bef9a3852400dcfd533f53a88d997da852 Mon Sep 17 00:00:00 2001
From: dkwo <nicolopiazzalunga@gmail.com>
Date: Fri, 24 Sep 2021 15:07:06 +0200
Subject: [PATCH] perl: change config

---
 srcpkgs/perl/template | 32 +++++++++++++++++++-------------
 1 file changed, 19 insertions(+), 13 deletions(-)

diff --git a/srcpkgs/perl/template b/srcpkgs/perl/template
index da223660988a..590936cf4328 100644
--- a/srcpkgs/perl/template
+++ b/srcpkgs/perl/template
@@ -160,10 +160,6 @@ do_configure() {
 		-Dman3dir=/usr/share/man/man3
 		-Dd_sockaddr_in6=define"
 
-	if [ "$CROSS_BUILD" ]; then
-		_args+=" --target=$XBPS_CROSS_TRIPLET"
-	fi
-
 	LDFLAGS+=" -Wl,-z,stack-size=2097152 -pthread"
 	export HOSTLDFLAGS+=" -pthread"
 
@@ -175,15 +171,25 @@ do_configure() {
 	fi
 
 	export LD="$CC"
-	./configure --prefix=/usr $_args \
-		-Dcccdlflags="-fPIC" \
-		-Doptimize=" -Wall ${CFLAGS} " -Dccflags=" ${CFLAGS} " \
-		-Dlddlflags="-shared ${LDFLAGS}" -Dldflags="${LDFLAGS}" \
-		-Dperl_static_inline='static __inline__' -Dd_static_inline ||
-	{
-		cat ./config.log
-		return 42
-	}
+	if [ "$CROSS_BUILD" ]; then
+		_args+=" --target=$XBPS_CROSS_TRIPLET"
+#		./configure --prefix=/usr $_args \
+#			-Dcccdlflags="-fPIC" \
+#			-Doptimize=" -Wall ${CFLAGS} " -Dccflags=" ${CFLAGS} " \
+#			-Dlddlflags="-shared ${LDFLAGS}" -Dldflags="${LDFLAGS}" \
+#			-Dperl_static_inline='static __inline__' -Dd_static_inline ||
+#		{
+#			cat ./config.log
+#			return 42
+#		}
+#	else
+fi
+		./Configure -des $_args \
+			-Dcccdlflags="-fPIC" \
+			-Doptimize=" -Wall ${CFLAGS} " -Dccflags=" ${CFLAGS} " \
+			-Dlddlflags="-shared ${LDFLAGS}" -Dldflags="${LDFLAGS}" \
+			-Dperl_static_inline='static __inline__' -Dd_static_inline
+#	fi
 }
 
 do_check() {

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [wip/rfc] perl: change config
  2021-09-24 14:51 [PR PATCH] perl: change config dkwo
                   ` (3 preceding siblings ...)
  2021-09-24 15:29 ` [PR PATCH] [Updated] " dkwo
@ 2021-09-24 15:31 ` dkwo
  2021-09-24 21:45 ` dkwo
                   ` (10 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: dkwo @ 2021-09-24 15:31 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 193 bytes --]

New comment by dkwo on void-packages repository

https://github.com/void-linux/void-packages/pull/33089#issuecomment-926720100

Comment:
Ok, that does not work, so I'll try what you suggested.

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [wip/rfc] perl: change config
  2021-09-24 14:51 [PR PATCH] perl: change config dkwo
                   ` (4 preceding siblings ...)
  2021-09-24 15:31 ` dkwo
@ 2021-09-24 21:45 ` dkwo
  2021-09-24 21:55 ` dkwo
                   ` (9 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: dkwo @ 2021-09-24 21:45 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 344 bytes --]

New comment by dkwo on void-packages repository

https://github.com/void-linux/void-packages/pull/33089#issuecomment-926936163

Comment:
This is the diff between using `configure --prefix=/usr` and `Configure -des` on `x86_64-musl` (the rest being unchanged):

[diff.log](https://github.com/void-linux/void-packages/files/7228539/diff.log)


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [wip/rfc] perl: change config
  2021-09-24 14:51 [PR PATCH] perl: change config dkwo
                   ` (5 preceding siblings ...)
  2021-09-24 21:45 ` dkwo
@ 2021-09-24 21:55 ` dkwo
  2021-09-25  9:05 ` dkwo
                   ` (8 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: dkwo @ 2021-09-24 21:55 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 435 bytes --]

New comment by dkwo on void-packages repository

https://github.com/void-linux/void-packages/pull/33089#issuecomment-926939864

Comment:
Also, quoting perl-cross homepage :)
> If you can use Configure from the vanilla distribution, you probably should use Configure;
> perl-cross is for the cases when Configure just can't make it.
> The configure script from perl-cross is essentially a 100 kB long session of severe sh(1) abuse. 

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [wip/rfc] perl: change config
  2021-09-24 14:51 [PR PATCH] perl: change config dkwo
                   ` (6 preceding siblings ...)
  2021-09-24 21:55 ` dkwo
@ 2021-09-25  9:05 ` dkwo
  2021-09-25 19:31 ` [PR PATCH] [Updated] " dkwo
                   ` (7 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: dkwo @ 2021-09-25  9:05 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 977 bytes --]

New comment by dkwo on void-packages repository

https://github.com/void-linux/void-packages/pull/33089#issuecomment-927091957

Comment:
I think that using `perl-cross` for everything means sacrificing too much in favor of cross-compiling.
This is what gentoo does, similar to what I proposed:
```
if tc-is-cross-compiler; then
		./configure \
			--target="${CHOST}" \
			--build="${CBUILD}" \
			-Dinstallprefix='' \
			-Dinstallusrbinperl='undef' \
			-Dusevendorprefix='define' \
			"${myconf[@]}" \
			|| die "Unable to configure"
	else
		sh Configure \
			-des \
			-Dinstallprefix="${EPREFIX}"'/usr' \
			-Dinstallusrbinperl='n' \
			"${myconf[@]}" \
			|| die "Unable to configure"
	fi
```
I can investigate the only remaining failure (a very minor one)
```
Failed 1 test out of 2534, 99.96% okay.
	porting/checkcase.t
```
if we decide to go that way. If you prefer to keep the status quo, that's also fine, in which case just close this PR :)

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PR PATCH] [Updated] [wip/rfc] perl: change config
  2021-09-24 14:51 [PR PATCH] perl: change config dkwo
                   ` (7 preceding siblings ...)
  2021-09-25  9:05 ` dkwo
@ 2021-09-25 19:31 ` dkwo
  2021-09-25 20:16 ` dkwo
                   ` (6 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: dkwo @ 2021-09-25 19:31 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 601 bytes --]

There is an updated pull request by dkwo against master on the void-packages repository

https://github.com/dkwo/void-packages perl
https://github.com/void-linux/void-packages/pull/33089

[wip/rfc] perl: change config
At least when not cross-compiling, using `Configure` instead of `configure` gets rid of test errors on musl and i686.
Only one error left, the same for everybody:
```
Failed 1 test out of 2534, 99.96% okay.
	porting/checkcase.t
```
Do you think this is worth changing? @leahneukirchen 

A patch file from https://github.com/void-linux/void-packages/pull/33089.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-perl-33089.patch --]
[-- Type: text/x-diff, Size: 13316 bytes --]

From bd97d25bb82ce971e1486078c2bc03064cfc9f68 Mon Sep 17 00:00:00 2001
From: dkwo <nicolopiazzalunga@gmail.com>
Date: Sat, 25 Sep 2021 21:27:15 +0200
Subject: [PATCH] perl: edit config

---
 srcpkgs/perl/patches/D-SHA-CFLAGS.diff        | 34 -------
 srcpkgs/perl/patches/cleanup-paths.diff       | 89 -------------------
 srcpkgs/perl/patches/cpan_definstalldirs.diff | 38 --------
 .../perl/patches/drop_fstack_protector.diff   | 59 ------------
 srcpkgs/perl/patches/usr_local.diff           | 64 -------------
 srcpkgs/perl/template                         | 59 +++++++-----
 6 files changed, 37 insertions(+), 306 deletions(-)
 delete mode 100644 srcpkgs/perl/patches/D-SHA-CFLAGS.diff
 delete mode 100644 srcpkgs/perl/patches/cleanup-paths.diff
 delete mode 100644 srcpkgs/perl/patches/cpan_definstalldirs.diff
 delete mode 100644 srcpkgs/perl/patches/drop_fstack_protector.diff
 delete mode 100644 srcpkgs/perl/patches/usr_local.diff

diff --git a/srcpkgs/perl/patches/D-SHA-CFLAGS.diff b/srcpkgs/perl/patches/D-SHA-CFLAGS.diff
deleted file mode 100644
index 7c580648d22a..000000000000
--- a/srcpkgs/perl/patches/D-SHA-CFLAGS.diff
+++ /dev/null
@@ -1,34 +0,0 @@
-From 6d8f0056bcf9dfdd34a6cb5e4ccac44bebbc3edd Mon Sep 17 00:00:00 2001
-From: Vladimir Smirnov <civil@gentoo.org>
-Date: Mon, 15 Jun 2015 22:15:59 +0200
-Subject: [PATCH] [PATCH] Do not set custom CFLAGS in cpan/Digest-SHA
-
-Bug-Gentoo: https://bugs.gentoo.org/506818
-
-Patch-Name: gentoo/D-SHA-CFLAGS.diff
-
-Original-By: Matthias Maier <tamiko@gentoo.org>
----
- cpan/Digest-SHA/Makefile.PL | 6 ------
- 1 file changed, 6 deletions(-)
-
-diff --git a/cpan/Digest-SHA/Makefile.PL b/cpan/Digest-SHA/Makefile.PL
-index af2c0c3..65f4771 100644
---- a/cpan/Digest-SHA/Makefile.PL
-+++ b/cpan/Digest-SHA/Makefile.PL
-@@ -64,12 +64,6 @@ if ($^O eq 'VMS') {
- 	}
- }
- 
--	# Enhance performance on Intel when using gcc
--
--if ($Config{archname} =~ /^i[3456]86/ && $Config{ccname} eq 'gcc') {
--	push(@extra, OPTIMIZE => '-O1 -fomit-frame-pointer');
--}
--
- my $fussy = '-Wall -Wextra -Wconversion -Wcast-align -Wpointer-arith ';
- push(@extra, CCFLAGS => $fussy . $Config{ccflags}) if $opt_w;
- 
--- 
-2.4.3
-
diff --git a/srcpkgs/perl/patches/cleanup-paths.diff b/srcpkgs/perl/patches/cleanup-paths.diff
deleted file mode 100644
index 4456b667d5de..000000000000
--- a/srcpkgs/perl/patches/cleanup-paths.diff
+++ /dev/null
@@ -1,89 +0,0 @@
---- a/Configure
-+++ b/Configure
-@@ -107,28 +107,6 @@
- 	fi
- fi
- 
--: Proper PATH setting
--paths='/bin /usr/bin /usr/local/bin /usr/ucb /usr/local /usr/lbin'
--paths="$paths /opt/bin /opt/local/bin /opt/local /opt/lbin"
--paths="$paths /usr/5bin /etc /usr/gnu/bin /usr/new /usr/new/bin /usr/nbin"
--paths="$paths /opt/gnu/bin /opt/new /opt/new/bin /opt/nbin"
--paths="$paths /sys5.3/bin /sys5.3/usr/bin /bsd4.3/bin /bsd4.3/usr/ucb"
--paths="$paths /bsd4.3/usr/bin /usr/bsd /bsd43/bin /opt/ansic/bin /usr/ccs/bin"
--paths="$paths /etc /usr/lib /usr/ucblib /lib /usr/ccs/lib"
--paths="$paths /sbin /usr/sbin /usr/libexec"
--paths="$paths /system/gnu_library/bin"
--
--for p in $paths
--do
--	case "$p_$PATH$p_" in
--	*$p_$p$p_*) ;;
--	*) test -d $p && PATH=$PATH$p_$p ;;
--	esac
--done
--
--PATH=.$p_$PATH
--export PATH
--
- : shall we be using ksh?
- inksh=''
- needksh=''
-@@ -8795,57 +8773,6 @@
- 	;;
- esac
- 
--# How will the perl executable find the installed shared $libperl?
--# Add $xxx to ccdlflags.
--# If we can't figure out a command-line option, use $shrpenv to
--# set env LD_RUN_PATH.  The main perl makefile uses this.
--shrpdir=$archlibexp/CORE
--xxx=''
--tmp_shrpenv=''
--if "$useshrplib"; then
--    case "$osname" in
--	aix)
--		# We'll set it in Makefile.SH...
--		;;
--	solaris)
--		xxx="-R $shrpdir"
--		;;
--	freebsd|minix|mirbsd|netbsd|openbsd|interix|dragonfly|bitrig)
--		xxx="-Wl,-R$shrpdir"
--		;;
--	bsdos|linux|irix*|dec_osf|gnu*|haiku)
--		xxx="-Wl,-rpath,$shrpdir"
--		;;
--	hpux*)
--		# hpux doesn't like the default, either.
--		tmp_shrpenv="env LDOPTS=\"+s +b${shrpdir}\""
--		;;
--	cygwin)
--		# cygwin needs only ldlibpth
--		;;
--	*)
--		tmp_shrpenv="env LD_RUN_PATH=$shrpdir"
--		;;
--	esac
--	case "$xxx" in
--	'') ;;
--	*)
--		# Only add $xxx if it isn't already in ccdlflags.
--		case " $ccdlflags " in
--		*" $xxx "*)	;;
--		*)	ccdlflags="$ccdlflags $xxx"
--			cat <<EOM >&4
--
--Adding $xxx to the flags
--passed to $ld so that the perl executable will find the
--installed shared $libperl.
--
--EOM
--			;;
--		esac
--		;;
--	esac
--fi
- # Fix ccdlflags in AIX for building external extensions.
- # (For building Perl itself bare -bE:perl.exp is needed,
- #  Makefile.SH takes care of this.)
diff --git a/srcpkgs/perl/patches/cpan_definstalldirs.diff b/srcpkgs/perl/patches/cpan_definstalldirs.diff
deleted file mode 100644
index 3f420feded49..000000000000
--- a/srcpkgs/perl/patches/cpan_definstalldirs.diff
+++ /dev/null
@@ -1,38 +0,0 @@
-From 91c395844c280f07b4eeb4aa20f1b2abd9fe1126 Mon Sep 17 00:00:00 2001
-From: Torsten Veller <tove@gentoo.org>
-Date: Sat, 14 Apr 2012 13:34:20 +0200
-Subject: Provide a sensible INSTALLDIRS default for modules installed from
- CPAN.
-
-Some modules which are included in core set INSTALLDIRS => 'perl'
-explicitly in Makefile.PL or Build.PL.  This makes sense for the normal @INC
-ordering, but not ours.
-Taken from Debian.
-
-Patch-Name: gentoo/cpan_definstalldirs.diff
----
- cpan/CPAN/lib/CPAN/FirstTime.pm | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/cpan/CPAN/lib/CPAN/FirstTime.pm b/cpan/CPAN/lib/CPAN/FirstTime.pm
-index 5030ef9..5953cb7 100644
---- a/cpan/CPAN/lib/CPAN/FirstTime.pm
-+++ b/cpan/CPAN/lib/CPAN/FirstTime.pm
-@@ -990,7 +990,7 @@ sub init {
-     my_prompt_loop(prefer_installer => 'MB', $matcher, 'MB|EUMM|RAND');
- 
-     if (!$matcher or 'makepl_arg make_arg' =~ /$matcher/) {
--        my_dflt_prompt(makepl_arg => "", $matcher);
-+        my_dflt_prompt(makepl_arg => "INSTALLDIRS=site", $matcher);
-         my_dflt_prompt(make_arg => "", $matcher);
-         if ( $CPAN::Config->{makepl_arg} =~ /LIBS=|INC=/ ) {
-             $CPAN::Frontend->mywarn(
-@@ -1022,7 +1022,7 @@ sub init {
-     my_dflt_prompt(make_install_arg => $CPAN::Config->{make_arg} || "",
-                    $matcher);
- 
--    my_dflt_prompt(mbuildpl_arg => "", $matcher);
-+    my_dflt_prompt(mbuildpl_arg => "--installdirs site", $matcher);
-     my_dflt_prompt(mbuild_arg => "", $matcher);
- 
-     if (exists $CPAN::HandleConfig::keys{mbuild_install_build_command}
diff --git a/srcpkgs/perl/patches/drop_fstack_protector.diff b/srcpkgs/perl/patches/drop_fstack_protector.diff
deleted file mode 100644
index 3b5ba892a4c0..000000000000
--- a/srcpkgs/perl/patches/drop_fstack_protector.diff
+++ /dev/null
@@ -1,59 +0,0 @@
-From 423890b1db83fce87d1283293a3d207e8f18aff4 Mon Sep 17 00:00:00 2001
-From: Vladimir Smirnov <civil@gentoo.org>
-Date: Mon, 19 May 2014 19:44:44 +0400
-Subject: [PATCH] Don't force -fstack-protector on everyone
-
-Bug-Gentoo: https://bugs.gentoo.org/348557
-
-Patch-Name: gentoo/drop_fstack_protector.diff
-
-Original by Torsten Veller, ported to perl 5.20
-
-
-diff -ruN perl-5.24.0-RC5.orig/Configure perl-5.24.0-RC5/Configure
---- a/Configure	2016-04-27 00:11:09.000000000 +0200
-+++ b/Configure	2016-05-05 21:32:53.575232970 +0200
-@@ -5633,21 +5616,6 @@
- 	;;
- *) dflt="$ldflags";;
- esac
--# See note above about -fstack-protector
--case "$ccflags" in
--*-fstack-protector-strong*)
--	case "$dflt" in
--	*-fstack-protector-strong*) ;; # Don't add it again
--	*) dflt="$dflt -fstack-protector-strong" ;;
--	esac
--	;;
--*-fstack-protector*)
--	case "$dflt" in
--	*-fstack-protector*) ;; # Don't add it again
--	*) dflt="$dflt -fstack-protector" ;;
--	esac
--	;;
--esac
- 
- : Try to guess additional flags to pick up local libraries.
- for thislibdir in $libpth; do
-@@ -8570,21 +8538,6 @@
- 	    ''|' ') dflt='none' ;;
- 	esac
- 
--	case "$ldflags" in
--	    *-fstack-protector-strong*)
--		case "$dflt" in
--		    *-fstack-protector-strong*) ;; # Don't add it again
--		    *) dflt="$dflt -fstack-protector-strong" ;;
--		esac
--		;;
--	    *-fstack-protector*)
--		case "$dflt" in
--		    *-fstack-protector*) ;; # Don't add it again
--		    *) dflt="$dflt -fstack-protector" ;;
--		esac
--		;;
--	esac
--
- 	rp="Any special flags to pass to $ld to create a dynamically loaded library?"
- 	. ./myread
- 	case "$ans" in
diff --git a/srcpkgs/perl/patches/usr_local.diff b/srcpkgs/perl/patches/usr_local.diff
deleted file mode 100644
index 86eb2a495659..000000000000
--- a/srcpkgs/perl/patches/usr_local.diff
+++ /dev/null
@@ -1,64 +0,0 @@
-From 1b9950c255b7d5f13b8c65bde26151908f30fc10 Mon Sep 17 00:00:00 2001
-From: Vladimir Smirnov <civil@gentoo.org>
-Date: Mon, 19 May 2014 19:58:00 +0400
-Subject: [PATCH] Remove /usr/local paths
-
-remove /usr/local paths from all stuff thats used
-in Configure script
-
-Patch-Name: gentoo/usr_local.diff
-Original-By: Torsten Veller <tove@gentoo.org>
----
- Configure | 16 +++++++---------
- 1 file changed, 7 insertions(+), 9 deletions(-)
-
-diff --git a/Configure b/Configure
-index 63b8848..d0a3c28 100755
---- a/Configure
-+++ b/Configure
-@@ -1315,8 +1315,7 @@ archobjs=''
- archname=''
- : Possible local include directories to search.
- : Set locincpth to "" in a hint file to defeat local include searches.
--locincpth="/usr/local/include /opt/local/include /usr/gnu/include"
--locincpth="$locincpth /opt/gnu/include /usr/GNU/include /opt/GNU/include"
-+locincpth=""
- :
- : no include file wanted by default
- inclwanted=''
-@@ -1329,12 +1328,11 @@ libnames=''
- : change the next line if compiling for Xenix/286 on Xenix/386
- xlibpth='/usr/lib/386 /lib/386'
- : Possible local library directories to search.
--loclibpth="/usr/local/lib /opt/local/lib /usr/gnu/lib"
--loclibpth="$loclibpth /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib"
-+loclibpth=""
- 
- : general looking path for locating libraries
- glibpth="/lib /usr/lib $xlibpth"
--glibpth="$glibpth /usr/ccs/lib /usr/ucblib /usr/local/lib"
-+glibpth="$glibpth /usr/ccs/lib /usr/ucblib"
- test -f /usr/shlib/libc.so && glibpth="/usr/shlib $glibpth"
- test -f /shlib/libc.so     && glibpth="/shlib $glibpth"
- test -d /usr/lib64         && glibpth="$glibpth /lib64 /usr/lib64 /usr/local/lib64"
-@@ -4914,7 +4912,7 @@ esac
- : Set private lib path
- case "$plibpth" in
- '') if ./mips; then
--	plibpth="$incpath/usr/lib $sysroot/usr/local/lib $sysroot/usr/ccs/lib"
-+	plibpth="$incpath/usr/lib $sysroot/usr/ccs/lib"
-     fi;;
- esac
- case "$libpth" in
-@@ -20513,7 +20511,7 @@ else
- 	case "$ranlib" in
- 	:) ranlib='';;
- 	'')
--		ranlib=`./loc ranlib X /usr/bin /bin /usr/local/bin`
-+		ranlib=`./loc ranlib X /usr/bin /bin`
- 		$test -f $ranlib || ranlib=''
- 		;;
- 	esac
--- 
-1.9.3
-
diff --git a/srcpkgs/perl/template b/srcpkgs/perl/template
index da223660988a..c96b917394f3 100644
--- a/srcpkgs/perl/template
+++ b/srcpkgs/perl/template
@@ -1,7 +1,7 @@
 # Template file for 'perl'
 pkgname=perl
 version=5.34.0
-revision=1
+revision=2
 _perl_cross_version=1.3.6
 build_style=gnu-configure
 hostmakedepends="less"
@@ -141,29 +141,28 @@ for f in ${provides}; do
 	replaces+=" $($XBPS_UHELPER_CMD getpkgname ${f})>=0"
 done
 
-post_extract() {
-	cp -a ../perl-cross-${_perl_cross_version}/* .
-}
-
 do_configure() {
-	local _args="-Dusethreads -Duseshrplib -Dusesoname -Dusevendorprefix
-		-Dprefix=/usr -Dvendorprefix=/usr
+	local _args="-Dusethreads
+		-Duseshrplib
+		-Dusesoname
+		-Dusevendorprefix
+		-Dprefix=/usr
+		-Dvendorprefix=/usr
 		-Dprivlib=/usr/share/perl5/core_perl
 		-Darchlib=/usr/lib/perl5/core_perl
 		-Dsitelib=/usr/share/perl5/site_perl
 		-Dsitearch=/usr/lib/perl5/site_perl
 		-Dvendorlib=/usr/share/perl5/vendor_perl
 		-Dvendorarch=/usr/lib/perl5/vendor_perl
-		-Dscriptdir=/usr/bin -Dvendorscript=/usr/bin
-		-Dinc_version_list=none -Dman1ext=1p -Dman3ext=3p
+		-Dscriptdir=/usr/bin
+		-Dvendorscript=/usr/bin
+		-Dinc_version_list=none
+		-Dman1ext=1p
+		-Dman3ext=3p
 		-Dman1dir=/usr/share/man/man1
 		-Dman3dir=/usr/share/man/man3
 		-Dd_sockaddr_in6=define"
 
-	if [ "$CROSS_BUILD" ]; then
-		_args+=" --target=$XBPS_CROSS_TRIPLET"
-	fi
-
 	LDFLAGS+=" -Wl,-z,stack-size=2097152 -pthread"
 	export HOSTLDFLAGS+=" -pthread"
 
@@ -175,15 +174,31 @@ do_configure() {
 	fi
 
 	export LD="$CC"
-	./configure --prefix=/usr $_args \
-		-Dcccdlflags="-fPIC" \
-		-Doptimize=" -Wall ${CFLAGS} " -Dccflags=" ${CFLAGS} " \
-		-Dlddlflags="-shared ${LDFLAGS}" -Dldflags="${LDFLAGS}" \
-		-Dperl_static_inline='static __inline__' -Dd_static_inline ||
-	{
-		cat ./config.log
-		return 42
-	}
+	if [ "$CROSS_BUILD" ]; then
+		_args+=" --target=$XBPS_CROSS_TRIPLET"
+		cp -a ../perl-cross-${_perl_cross_version}/* .
+		./configure --prefix=/usr $_args \
+			-Dcccdlflags="-fPIC" \
+			-Doptimize=" -Wall ${CFLAGS} " \
+			-Dccflags=" ${CFLAGS} " \
+			-Dlddlflags="-shared ${LDFLAGS}" \
+			-Dldflags="${LDFLAGS}" \
+			-Dperl_static_inline='static __inline__' \
+			-Dd_static_inline ||
+		{
+			cat ./config.log
+			return 42
+		}
+	else
+		./Configure -des $_args \
+			-Dcccdlflags="-fPIC" \
+			-Doptimize=" -Wall ${CFLAGS} " \
+			-Dccflags=" ${CFLAGS} " \
+			-Dlddlflags="-shared ${LDFLAGS}" \
+			-Dldflags="${LDFLAGS}" \
+			-Dperl_static_inline='static __inline__' \
+			-Dd_static_inline
+	fi
 }
 
 do_check() {

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [wip/rfc] perl: change config
  2021-09-24 14:51 [PR PATCH] perl: change config dkwo
                   ` (8 preceding siblings ...)
  2021-09-25 19:31 ` [PR PATCH] [Updated] " dkwo
@ 2021-09-25 20:16 ` dkwo
  2021-09-27 15:47 ` leahneukirchen
                   ` (5 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: dkwo @ 2021-09-25 20:16 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 867 bytes --]

New comment by dkwo on void-packages repository

https://github.com/void-linux/void-packages/pull/33089#issuecomment-927091957

Comment:
I think that using `perl-cross` for everything means sacrificing too much in favor of cross-compiling.
This is what gentoo does, similar to what I proposed:
```
if tc-is-cross-compiler; then
		./configure \
			--target="${CHOST}" \
			--build="${CBUILD}" \
			-Dinstallprefix='' \
			-Dinstallusrbinperl='undef' \
			-Dusevendorprefix='define' \
			"${myconf[@]}" \
			|| die "Unable to configure"
	else
		sh Configure \
			-des \
			-Dinstallprefix="${EPREFIX}"'/usr' \
			-Dinstallusrbinperl='n' \
			"${myconf[@]}" \
			|| die "Unable to configure"
	fi
```
Edit: no test failures after deleting obsolete patches.
If you prefer to keep the status quo, that's also fine, in which case just close this PR :)

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [wip/rfc] perl: change config
  2021-09-24 14:51 [PR PATCH] perl: change config dkwo
                   ` (9 preceding siblings ...)
  2021-09-25 20:16 ` dkwo
@ 2021-09-27 15:47 ` leahneukirchen
  2021-09-30 15:50 ` [PR PATCH] [Updated] " dkwo
                   ` (4 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: leahneukirchen @ 2021-09-27 15:47 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 541 bytes --]

New comment by leahneukirchen on void-packages repository

https://github.com/void-linux/void-packages/pull/33089#issuecomment-928001119

Comment:
The problem is that if we mix native and cross compiling scripts, you get different packages if you recompile perl locally... Ideally perl-cross would yield a test passing build too, of course (I wonder why not more people complain it doesn't?)

Further, we want MULTIPLICITY for the next Perl rebuild, and perl-cross never enables it afaics.  So perhaps we need more patching around indeed.

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PR PATCH] [Updated] [wip/rfc] perl: change config
  2021-09-24 14:51 [PR PATCH] perl: change config dkwo
                   ` (10 preceding siblings ...)
  2021-09-27 15:47 ` leahneukirchen
@ 2021-09-30 15:50 ` dkwo
  2021-09-30 15:54 ` dkwo
                   ` (3 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: dkwo @ 2021-09-30 15:50 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 601 bytes --]

There is an updated pull request by dkwo against master on the void-packages repository

https://github.com/dkwo/void-packages perl
https://github.com/void-linux/void-packages/pull/33089

[wip/rfc] perl: change config
At least when not cross-compiling, using `Configure` instead of `configure` gets rid of test errors on musl and i686.
Only one error left, the same for everybody:
```
Failed 1 test out of 2534, 99.96% okay.
	porting/checkcase.t
```
Do you think this is worth changing? @leahneukirchen 

A patch file from https://github.com/void-linux/void-packages/pull/33089.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-perl-33089.patch --]
[-- Type: text/x-diff, Size: 15493 bytes --]

From 140205526f882bd8be5a70c7d6a1a7b68b4ac9b7 Mon Sep 17 00:00:00 2001
From: dkwo <nicolopiazzalunga@gmail.com>
Date: Sat, 25 Sep 2021 21:27:15 +0200
Subject: [PATCH] perl: edit config, remove patches

---
 srcpkgs/perl/patches/D-SHA-CFLAGS.diff        | 34 -------
 srcpkgs/perl/patches/cleanup-paths.diff       | 89 -------------------
 srcpkgs/perl/patches/cpan_definstalldirs.diff | 38 --------
 srcpkgs/perl/patches/cross-Makefile.SH.patch  | 62 -------------
 .../perl/patches/drop_fstack_protector.diff   | 59 ------------
 srcpkgs/perl/patches/usr_local.diff           | 64 -------------
 srcpkgs/perl/template                         | 58 +++++++-----
 7 files changed, 37 insertions(+), 367 deletions(-)
 delete mode 100644 srcpkgs/perl/patches/D-SHA-CFLAGS.diff
 delete mode 100644 srcpkgs/perl/patches/cleanup-paths.diff
 delete mode 100644 srcpkgs/perl/patches/cpan_definstalldirs.diff
 delete mode 100644 srcpkgs/perl/patches/cross-Makefile.SH.patch
 delete mode 100644 srcpkgs/perl/patches/drop_fstack_protector.diff
 delete mode 100644 srcpkgs/perl/patches/usr_local.diff

diff --git a/srcpkgs/perl/patches/D-SHA-CFLAGS.diff b/srcpkgs/perl/patches/D-SHA-CFLAGS.diff
deleted file mode 100644
index 7c580648d22a..000000000000
--- a/srcpkgs/perl/patches/D-SHA-CFLAGS.diff
+++ /dev/null
@@ -1,34 +0,0 @@
-From 6d8f0056bcf9dfdd34a6cb5e4ccac44bebbc3edd Mon Sep 17 00:00:00 2001
-From: Vladimir Smirnov <civil@gentoo.org>
-Date: Mon, 15 Jun 2015 22:15:59 +0200
-Subject: [PATCH] [PATCH] Do not set custom CFLAGS in cpan/Digest-SHA
-
-Bug-Gentoo: https://bugs.gentoo.org/506818
-
-Patch-Name: gentoo/D-SHA-CFLAGS.diff
-
-Original-By: Matthias Maier <tamiko@gentoo.org>
----
- cpan/Digest-SHA/Makefile.PL | 6 ------
- 1 file changed, 6 deletions(-)
-
-diff --git a/cpan/Digest-SHA/Makefile.PL b/cpan/Digest-SHA/Makefile.PL
-index af2c0c3..65f4771 100644
---- a/cpan/Digest-SHA/Makefile.PL
-+++ b/cpan/Digest-SHA/Makefile.PL
-@@ -64,12 +64,6 @@ if ($^O eq 'VMS') {
- 	}
- }
- 
--	# Enhance performance on Intel when using gcc
--
--if ($Config{archname} =~ /^i[3456]86/ && $Config{ccname} eq 'gcc') {
--	push(@extra, OPTIMIZE => '-O1 -fomit-frame-pointer');
--}
--
- my $fussy = '-Wall -Wextra -Wconversion -Wcast-align -Wpointer-arith ';
- push(@extra, CCFLAGS => $fussy . $Config{ccflags}) if $opt_w;
- 
--- 
-2.4.3
-
diff --git a/srcpkgs/perl/patches/cleanup-paths.diff b/srcpkgs/perl/patches/cleanup-paths.diff
deleted file mode 100644
index 4456b667d5de..000000000000
--- a/srcpkgs/perl/patches/cleanup-paths.diff
+++ /dev/null
@@ -1,89 +0,0 @@
---- a/Configure
-+++ b/Configure
-@@ -107,28 +107,6 @@
- 	fi
- fi
- 
--: Proper PATH setting
--paths='/bin /usr/bin /usr/local/bin /usr/ucb /usr/local /usr/lbin'
--paths="$paths /opt/bin /opt/local/bin /opt/local /opt/lbin"
--paths="$paths /usr/5bin /etc /usr/gnu/bin /usr/new /usr/new/bin /usr/nbin"
--paths="$paths /opt/gnu/bin /opt/new /opt/new/bin /opt/nbin"
--paths="$paths /sys5.3/bin /sys5.3/usr/bin /bsd4.3/bin /bsd4.3/usr/ucb"
--paths="$paths /bsd4.3/usr/bin /usr/bsd /bsd43/bin /opt/ansic/bin /usr/ccs/bin"
--paths="$paths /etc /usr/lib /usr/ucblib /lib /usr/ccs/lib"
--paths="$paths /sbin /usr/sbin /usr/libexec"
--paths="$paths /system/gnu_library/bin"
--
--for p in $paths
--do
--	case "$p_$PATH$p_" in
--	*$p_$p$p_*) ;;
--	*) test -d $p && PATH=$PATH$p_$p ;;
--	esac
--done
--
--PATH=.$p_$PATH
--export PATH
--
- : shall we be using ksh?
- inksh=''
- needksh=''
-@@ -8795,57 +8773,6 @@
- 	;;
- esac
- 
--# How will the perl executable find the installed shared $libperl?
--# Add $xxx to ccdlflags.
--# If we can't figure out a command-line option, use $shrpenv to
--# set env LD_RUN_PATH.  The main perl makefile uses this.
--shrpdir=$archlibexp/CORE
--xxx=''
--tmp_shrpenv=''
--if "$useshrplib"; then
--    case "$osname" in
--	aix)
--		# We'll set it in Makefile.SH...
--		;;
--	solaris)
--		xxx="-R $shrpdir"
--		;;
--	freebsd|minix|mirbsd|netbsd|openbsd|interix|dragonfly|bitrig)
--		xxx="-Wl,-R$shrpdir"
--		;;
--	bsdos|linux|irix*|dec_osf|gnu*|haiku)
--		xxx="-Wl,-rpath,$shrpdir"
--		;;
--	hpux*)
--		# hpux doesn't like the default, either.
--		tmp_shrpenv="env LDOPTS=\"+s +b${shrpdir}\""
--		;;
--	cygwin)
--		# cygwin needs only ldlibpth
--		;;
--	*)
--		tmp_shrpenv="env LD_RUN_PATH=$shrpdir"
--		;;
--	esac
--	case "$xxx" in
--	'') ;;
--	*)
--		# Only add $xxx if it isn't already in ccdlflags.
--		case " $ccdlflags " in
--		*" $xxx "*)	;;
--		*)	ccdlflags="$ccdlflags $xxx"
--			cat <<EOM >&4
--
--Adding $xxx to the flags
--passed to $ld so that the perl executable will find the
--installed shared $libperl.
--
--EOM
--			;;
--		esac
--		;;
--	esac
--fi
- # Fix ccdlflags in AIX for building external extensions.
- # (For building Perl itself bare -bE:perl.exp is needed,
- #  Makefile.SH takes care of this.)
diff --git a/srcpkgs/perl/patches/cpan_definstalldirs.diff b/srcpkgs/perl/patches/cpan_definstalldirs.diff
deleted file mode 100644
index 3f420feded49..000000000000
--- a/srcpkgs/perl/patches/cpan_definstalldirs.diff
+++ /dev/null
@@ -1,38 +0,0 @@
-From 91c395844c280f07b4eeb4aa20f1b2abd9fe1126 Mon Sep 17 00:00:00 2001
-From: Torsten Veller <tove@gentoo.org>
-Date: Sat, 14 Apr 2012 13:34:20 +0200
-Subject: Provide a sensible INSTALLDIRS default for modules installed from
- CPAN.
-
-Some modules which are included in core set INSTALLDIRS => 'perl'
-explicitly in Makefile.PL or Build.PL.  This makes sense for the normal @INC
-ordering, but not ours.
-Taken from Debian.
-
-Patch-Name: gentoo/cpan_definstalldirs.diff
----
- cpan/CPAN/lib/CPAN/FirstTime.pm | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/cpan/CPAN/lib/CPAN/FirstTime.pm b/cpan/CPAN/lib/CPAN/FirstTime.pm
-index 5030ef9..5953cb7 100644
---- a/cpan/CPAN/lib/CPAN/FirstTime.pm
-+++ b/cpan/CPAN/lib/CPAN/FirstTime.pm
-@@ -990,7 +990,7 @@ sub init {
-     my_prompt_loop(prefer_installer => 'MB', $matcher, 'MB|EUMM|RAND');
- 
-     if (!$matcher or 'makepl_arg make_arg' =~ /$matcher/) {
--        my_dflt_prompt(makepl_arg => "", $matcher);
-+        my_dflt_prompt(makepl_arg => "INSTALLDIRS=site", $matcher);
-         my_dflt_prompt(make_arg => "", $matcher);
-         if ( $CPAN::Config->{makepl_arg} =~ /LIBS=|INC=/ ) {
-             $CPAN::Frontend->mywarn(
-@@ -1022,7 +1022,7 @@ sub init {
-     my_dflt_prompt(make_install_arg => $CPAN::Config->{make_arg} || "",
-                    $matcher);
- 
--    my_dflt_prompt(mbuildpl_arg => "", $matcher);
-+    my_dflt_prompt(mbuildpl_arg => "--installdirs site", $matcher);
-     my_dflt_prompt(mbuild_arg => "", $matcher);
- 
-     if (exists $CPAN::HandleConfig::keys{mbuild_install_build_command}
diff --git a/srcpkgs/perl/patches/cross-Makefile.SH.patch b/srcpkgs/perl/patches/cross-Makefile.SH.patch
deleted file mode 100644
index c10163c42947..000000000000
--- a/srcpkgs/perl/patches/cross-Makefile.SH.patch
+++ /dev/null
@@ -1,62 +0,0 @@
---- a/Makefile.SH	2015-06-16 13:22:55.921083153 +0200
-+++ b/Makefile.SH	2015-06-16 13:26:14.198352302 +0200
-@@ -311,6 +311,7 @@
- OBJ_EXT = $_o
- PATH_SEP = $p_
- 
-+ifeq (,\$(CROSS_PERL))
- # Macros to invoke a copy of miniperl during the build.  Targets which
- # are built using these macros should depend on \$(MINIPERL_EXE)
- MINIPERL_EXE = miniperl\$(EXE_EXT)
-@@ -342,6 +343,23 @@
- # Macros to run our tests
- RUN_TESTS = \$(LDLIBPTH) ./runtests
- 
-+else # CROSS_PERL
-+
-+# Macros to invoke a copy of miniperl during the build.  Targets which
-+# are built using these macros should depend on \$(MINIPERL_EXE)
-+MINIPERL_EXE = miniperl\$(EXE_EXT)
-+MINIPERL = \$(CROSS_PERL)
-+HOST_MINIPERL = \$(CROSS_PERL)
-+
-+# Macros to invoke a copy of our fully operational perl during the build.
-+PERL_EXE = perl\$(EXE_EXT)
-+RUN_PERL = \$(CROSS_PERL)
-+
-+# Macros to run our tests
-+RUN_TESTS = echo "Not running tests"
-+
-+endif # CROSS_PERL
-+
- dynamic_ext = $dynamic_list
- dynamic_ext_re = $dynamic_ext_re
- static_ext = $static_list
-@@ -580,6 +598,9 @@
- 	    $(RUN_PERL) Porting/manisort -q -o MANIFEST; sh -c true)
- 	@touch $(MANIFEST_SRT)
- 
-+# Cross building requires a separate target to allow manipulation of the build tree                                                                           
-+extensions: $(dynamic_ext) $(nonxs_ext) 
-+
- .PHONY: all utilities
- 
- # Both git_version.h and lib/Config_git.pl are built
-@@ -662,6 +683,9 @@
- 
- globals$(OBJ_EXT): $(generated_headers)
- 
-+ifeq (,$(CROSS_PERL))
-+# If we're cross-building, we should have uudmap.h and bitcount.h
-+# provided already
- uudmap.h mg_data.h: bitcount.h
- 
- generate_uudmap$(OBJ_EXT): mg_raw.h
-@@ -686,6 +710,7 @@
- $spitshell >>$Makefile <<'!NO!SUBS!'
- generate_uudmap$(HOST_EXE_EXT): generate_uudmap$(OBJ_EXT)
- 	$(CC) -o generate_uudmap$(EXE_EXT) $(LDFLAGS) generate_uudmap$(OBJ_EXT) $(libs)
-+endif
- 
- !NO!SUBS!
- ;;
diff --git a/srcpkgs/perl/patches/drop_fstack_protector.diff b/srcpkgs/perl/patches/drop_fstack_protector.diff
deleted file mode 100644
index 3b5ba892a4c0..000000000000
--- a/srcpkgs/perl/patches/drop_fstack_protector.diff
+++ /dev/null
@@ -1,59 +0,0 @@
-From 423890b1db83fce87d1283293a3d207e8f18aff4 Mon Sep 17 00:00:00 2001
-From: Vladimir Smirnov <civil@gentoo.org>
-Date: Mon, 19 May 2014 19:44:44 +0400
-Subject: [PATCH] Don't force -fstack-protector on everyone
-
-Bug-Gentoo: https://bugs.gentoo.org/348557
-
-Patch-Name: gentoo/drop_fstack_protector.diff
-
-Original by Torsten Veller, ported to perl 5.20
-
-
-diff -ruN perl-5.24.0-RC5.orig/Configure perl-5.24.0-RC5/Configure
---- a/Configure	2016-04-27 00:11:09.000000000 +0200
-+++ b/Configure	2016-05-05 21:32:53.575232970 +0200
-@@ -5633,21 +5616,6 @@
- 	;;
- *) dflt="$ldflags";;
- esac
--# See note above about -fstack-protector
--case "$ccflags" in
--*-fstack-protector-strong*)
--	case "$dflt" in
--	*-fstack-protector-strong*) ;; # Don't add it again
--	*) dflt="$dflt -fstack-protector-strong" ;;
--	esac
--	;;
--*-fstack-protector*)
--	case "$dflt" in
--	*-fstack-protector*) ;; # Don't add it again
--	*) dflt="$dflt -fstack-protector" ;;
--	esac
--	;;
--esac
- 
- : Try to guess additional flags to pick up local libraries.
- for thislibdir in $libpth; do
-@@ -8570,21 +8538,6 @@
- 	    ''|' ') dflt='none' ;;
- 	esac
- 
--	case "$ldflags" in
--	    *-fstack-protector-strong*)
--		case "$dflt" in
--		    *-fstack-protector-strong*) ;; # Don't add it again
--		    *) dflt="$dflt -fstack-protector-strong" ;;
--		esac
--		;;
--	    *-fstack-protector*)
--		case "$dflt" in
--		    *-fstack-protector*) ;; # Don't add it again
--		    *) dflt="$dflt -fstack-protector" ;;
--		esac
--		;;
--	esac
--
- 	rp="Any special flags to pass to $ld to create a dynamically loaded library?"
- 	. ./myread
- 	case "$ans" in
diff --git a/srcpkgs/perl/patches/usr_local.diff b/srcpkgs/perl/patches/usr_local.diff
deleted file mode 100644
index 86eb2a495659..000000000000
--- a/srcpkgs/perl/patches/usr_local.diff
+++ /dev/null
@@ -1,64 +0,0 @@
-From 1b9950c255b7d5f13b8c65bde26151908f30fc10 Mon Sep 17 00:00:00 2001
-From: Vladimir Smirnov <civil@gentoo.org>
-Date: Mon, 19 May 2014 19:58:00 +0400
-Subject: [PATCH] Remove /usr/local paths
-
-remove /usr/local paths from all stuff thats used
-in Configure script
-
-Patch-Name: gentoo/usr_local.diff
-Original-By: Torsten Veller <tove@gentoo.org>
----
- Configure | 16 +++++++---------
- 1 file changed, 7 insertions(+), 9 deletions(-)
-
-diff --git a/Configure b/Configure
-index 63b8848..d0a3c28 100755
---- a/Configure
-+++ b/Configure
-@@ -1315,8 +1315,7 @@ archobjs=''
- archname=''
- : Possible local include directories to search.
- : Set locincpth to "" in a hint file to defeat local include searches.
--locincpth="/usr/local/include /opt/local/include /usr/gnu/include"
--locincpth="$locincpth /opt/gnu/include /usr/GNU/include /opt/GNU/include"
-+locincpth=""
- :
- : no include file wanted by default
- inclwanted=''
-@@ -1329,12 +1328,11 @@ libnames=''
- : change the next line if compiling for Xenix/286 on Xenix/386
- xlibpth='/usr/lib/386 /lib/386'
- : Possible local library directories to search.
--loclibpth="/usr/local/lib /opt/local/lib /usr/gnu/lib"
--loclibpth="$loclibpth /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib"
-+loclibpth=""
- 
- : general looking path for locating libraries
- glibpth="/lib /usr/lib $xlibpth"
--glibpth="$glibpth /usr/ccs/lib /usr/ucblib /usr/local/lib"
-+glibpth="$glibpth /usr/ccs/lib /usr/ucblib"
- test -f /usr/shlib/libc.so && glibpth="/usr/shlib $glibpth"
- test -f /shlib/libc.so     && glibpth="/shlib $glibpth"
- test -d /usr/lib64         && glibpth="$glibpth /lib64 /usr/lib64 /usr/local/lib64"
-@@ -4914,7 +4912,7 @@ esac
- : Set private lib path
- case "$plibpth" in
- '') if ./mips; then
--	plibpth="$incpath/usr/lib $sysroot/usr/local/lib $sysroot/usr/ccs/lib"
-+	plibpth="$incpath/usr/lib $sysroot/usr/ccs/lib"
-     fi;;
- esac
- case "$libpth" in
-@@ -20513,7 +20511,7 @@ else
- 	case "$ranlib" in
- 	:) ranlib='';;
- 	'')
--		ranlib=`./loc ranlib X /usr/bin /bin /usr/local/bin`
-+		ranlib=`./loc ranlib X /usr/bin /bin`
- 		$test -f $ranlib || ranlib=''
- 		;;
- 	esac
--- 
-1.9.3
-
diff --git a/srcpkgs/perl/template b/srcpkgs/perl/template
index da223660988a..cf1011f45765 100644
--- a/srcpkgs/perl/template
+++ b/srcpkgs/perl/template
@@ -141,29 +141,28 @@ for f in ${provides}; do
 	replaces+=" $($XBPS_UHELPER_CMD getpkgname ${f})>=0"
 done
 
-post_extract() {
-	cp -a ../perl-cross-${_perl_cross_version}/* .
-}
-
 do_configure() {
-	local _args="-Dusethreads -Duseshrplib -Dusesoname -Dusevendorprefix
-		-Dprefix=/usr -Dvendorprefix=/usr
+	local _args="-Dusethreads
+		-Duseshrplib
+		-Dusesoname
+		-Dusevendorprefix
+		-Dprefix=/usr
+		-Dvendorprefix=/usr
 		-Dprivlib=/usr/share/perl5/core_perl
 		-Darchlib=/usr/lib/perl5/core_perl
 		-Dsitelib=/usr/share/perl5/site_perl
 		-Dsitearch=/usr/lib/perl5/site_perl
 		-Dvendorlib=/usr/share/perl5/vendor_perl
 		-Dvendorarch=/usr/lib/perl5/vendor_perl
-		-Dscriptdir=/usr/bin -Dvendorscript=/usr/bin
-		-Dinc_version_list=none -Dman1ext=1p -Dman3ext=3p
+		-Dscriptdir=/usr/bin
+		-Dvendorscript=/usr/bin
+		-Dinc_version_list=none
+		-Dman1ext=1p
+		-Dman3ext=3p
 		-Dman1dir=/usr/share/man/man1
 		-Dman3dir=/usr/share/man/man3
 		-Dd_sockaddr_in6=define"
 
-	if [ "$CROSS_BUILD" ]; then
-		_args+=" --target=$XBPS_CROSS_TRIPLET"
-	fi
-
 	LDFLAGS+=" -Wl,-z,stack-size=2097152 -pthread"
 	export HOSTLDFLAGS+=" -pthread"
 
@@ -175,15 +174,32 @@ do_configure() {
 	fi
 
 	export LD="$CC"
-	./configure --prefix=/usr $_args \
-		-Dcccdlflags="-fPIC" \
-		-Doptimize=" -Wall ${CFLAGS} " -Dccflags=" ${CFLAGS} " \
-		-Dlddlflags="-shared ${LDFLAGS}" -Dldflags="${LDFLAGS}" \
-		-Dperl_static_inline='static __inline__' -Dd_static_inline ||
-	{
-		cat ./config.log
-		return 42
-	}
+	if [ "$CROSS_BUILD" ]; then
+		_args+=" --target=$XBPS_CROSS_TRIPLET"
+		cp -a ../perl-cross-${_perl_cross_version}/* .
+		./configure --prefix=/usr $_args \
+			-Dcccdlflags="-fPIC" \
+			-Doptimize=" -Wall ${CFLAGS} " \
+			-Dccflags=" ${CFLAGS} " \
+			-Dlddlflags="-shared ${LDFLAGS}" \
+			-Dldflags="${LDFLAGS}" \
+			-Dperl_static_inline='static __inline__' \
+			-Dd_static_inline ||
+		{
+			cat ./config.log
+			return 42
+		}
+	else
+		./Configure -des $_args \
+			-Dcccdlflags="-fPIC" \
+			-Doptimize=" -Wall ${CFLAGS} " \
+			-Dccflags=" ${CFLAGS} " \
+			-Dlddlflags="-shared ${LDFLAGS}" \
+			-Dldflags="${LDFLAGS}" \
+			-Dperl_static_inline='static __inline__' \
+			-Dd_static_inline \
+			-Dusemultiplicity
+	fi
 }
 
 do_check() {

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [wip/rfc] perl: change config
  2021-09-24 14:51 [PR PATCH] perl: change config dkwo
                   ` (11 preceding siblings ...)
  2021-09-30 15:50 ` [PR PATCH] [Updated] " dkwo
@ 2021-09-30 15:54 ` dkwo
  2021-09-30 15:55 ` dkwo
                   ` (2 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: dkwo @ 2021-09-30 15:54 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 599 bytes --]

New comment by dkwo on void-packages repository

https://github.com/void-linux/void-packages/pull/33089#issuecomment-931450389

Comment:
> The problem is that if we mix native and cross compiling scripts, you get different packages if you recompile perl locally...
True, but simpler than chasing bugs and patching perl-cross imho.
> Further, we want MULTIPLICITY for the next Perl rebuild, and perl-cross never enables it afaics.
In the setup I propose, it's as easy as enabling the option, and one would not encounter issues like #32857 to begin with.
(I tried that and it passess all checks.)

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [wip/rfc] perl: change config
  2021-09-24 14:51 [PR PATCH] perl: change config dkwo
                   ` (12 preceding siblings ...)
  2021-09-30 15:54 ` dkwo
@ 2021-09-30 15:55 ` dkwo
  2022-01-02  8:33 ` dkwo
  2022-01-02  8:33 ` [PR PATCH] [Closed]: " dkwo
  15 siblings, 0 replies; 17+ messages in thread
From: dkwo @ 2021-09-30 15:55 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 605 bytes --]

New comment by dkwo on void-packages repository

https://github.com/void-linux/void-packages/pull/33089#issuecomment-931450389

Comment:
> The problem is that if we mix native and cross compiling scripts, you get different packages if you recompile perl locally...

True, but simpler than chasing bugs and patching perl-cross imho.

> Further, we want MULTIPLICITY for the next Perl rebuild, and perl-cross never enables it afaics.

In the setup I propose, it's as easy as enabling the option, and one would not encounter issues like #32857 to begin with.
(I tried that and it passess all checks.)

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [wip/rfc] perl: change config
  2021-09-24 14:51 [PR PATCH] perl: change config dkwo
                   ` (13 preceding siblings ...)
  2021-09-30 15:55 ` dkwo
@ 2022-01-02  8:33 ` dkwo
  2022-01-02  8:33 ` [PR PATCH] [Closed]: " dkwo
  15 siblings, 0 replies; 17+ messages in thread
From: dkwo @ 2022-01-02  8:33 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 200 bytes --]

New comment by dkwo on void-packages repository

https://github.com/void-linux/void-packages/pull/33089#issuecomment-1003680932

Comment:
I'll close this for now, just keep in mind the alternative :)

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PR PATCH] [Closed]: [wip/rfc] perl: change config
  2021-09-24 14:51 [PR PATCH] perl: change config dkwo
                   ` (14 preceding siblings ...)
  2022-01-02  8:33 ` dkwo
@ 2022-01-02  8:33 ` dkwo
  15 siblings, 0 replies; 17+ messages in thread
From: dkwo @ 2022-01-02  8:33 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 454 bytes --]

There's a closed pull request on the void-packages repository

[wip/rfc] perl: change config
https://github.com/void-linux/void-packages/pull/33089

Description:
At least when not cross-compiling, using `Configure` instead of `configure` gets rid of test errors on musl and i686.
Only one error left, the same for everybody:
```
Failed 1 test out of 2534, 99.96% okay.
	porting/checkcase.t
```
Do you think this is worth changing? @leahneukirchen 

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2022-01-02  8:33 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-24 14:51 [PR PATCH] perl: change config dkwo
2021-09-24 15:01 ` [wip/rfc] " leahneukirchen
2021-09-24 15:25 ` dkwo
2021-09-24 15:25 ` dkwo
2021-09-24 15:29 ` [PR PATCH] [Updated] " dkwo
2021-09-24 15:31 ` dkwo
2021-09-24 21:45 ` dkwo
2021-09-24 21:55 ` dkwo
2021-09-25  9:05 ` dkwo
2021-09-25 19:31 ` [PR PATCH] [Updated] " dkwo
2021-09-25 20:16 ` dkwo
2021-09-27 15:47 ` leahneukirchen
2021-09-30 15:50 ` [PR PATCH] [Updated] " dkwo
2021-09-30 15:54 ` dkwo
2021-09-30 15:55 ` dkwo
2022-01-02  8:33 ` dkwo
2022-01-02  8:33 ` [PR PATCH] [Closed]: " dkwo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).