SPDX-FileCopyrightText: 2013 Nicholas Clark <nick@ccl4.org>

SPDX-License-Identifier: Artistic-1.0

Direct application of this commit to ensure reproducibility of Errno.pm and
Functions.pm.

From 826ca1caadb538106237a9a41004ce52e2c29c51 Mon Sep 17 00:00:00 2001
From: Nicholas Clark <nick@ccl4.org>
Date: Fri, 12 Jul 2013 16:50:13 +0200
Subject: [PATCH] Generate Errno and Pod::Functions with deterministic order.

Previously the order of duplicate names in Errno was determined by hash
iteration order, as was the order of the list of types for built-ins in
Pod::Functions. With hash randomisation this meant that the generated file
could differ between builds, which isn't ideal if the input is the same.

(Spotted as a side effect of running a diff on two installation trees.)
---
 ext/Errno/Errno_pm.PL             | 4 ++--
 ext/Pod-Functions/Functions_pm.PL | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git perl-5.18.4/ext/Errno/Errno_pm.PL perl-5.18.4/ext/Errno/Errno_pm.PL
index b7079112bf..b372875480 100644
--- perl-5.18.4/ext/Errno/Errno_pm.PL
+++ perl-5.18.4/ext/Errno/Errno_pm.PL
@@ -2,7 +2,7 @@ use ExtUtils::MakeMaker;
 use Config;
 use strict;
 
-our $VERSION = "1.18";
+our $VERSION = "1.19";
 
 my %err = ();
 my %wsa = ();
@@ -305,7 +305,7 @@ BEGIN {
     %err = (
 EDQ
 
-    my @err = sort { $err{$a} <=> $err{$b} }
+    my @err = sort { $err{$a} <=> $err{$b} || $a cmp $b }
 	grep { $err{$_} =~ /-?\d+$/ } keys %err;
 
     foreach $err (@err) {
diff --git perl-5.18.4/ext/Pod-Functions/Functions_pm.PL perl-5.18.4/ext/Pod-Functions/Functions_pm.PL
index 0d38aef003..7cf0b51e92 100644
--- perl-5.18.4/ext/Pod-Functions/Functions_pm.PL
+++ perl-5.18.4/ext/Pod-Functions/Functions_pm.PL
@@ -198,7 +198,7 @@ L<perlfunc/"Perl Functions by Category"> section.
 
 =cut
 
-our $VERSION = '1.06';
+our $VERSION = '1.07';
 
 require Exporter;
 
@@ -265,7 +265,7 @@ foreach my $func (sort_funcs(keys %Flavor)) {
     my $desc = $Flavor{$func};
     die "No types listed for $func" unless $Type{$func};
     next if $Omit{$func};
-    print $fh join("\t", $func, @{$Type{$func}}, $desc), "\n";
+    print $fh join("\t", $func, (sort @{$Type{$func}}), $desc), "\n";
 }
 
 close $fh or die "Can't close '$temp': $!";
-- 
2.49.1

