<pre style='margin:0'>
David B. Evans (dbevans) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/4656cbca30167aeca4d4420ee92deec7e8e0f0f8">https://github.com/macports/macports-ports/commit/4656cbca30167aeca4d4420ee92deec7e8e0f0f8</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new 4656cbca301 p5-pdl: restore missing post-build perl script
</span>4656cbca301 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 4656cbca30167aeca4d4420ee92deec7e8e0f0f8
</span>Author: David B. Evans <devans@macports.org>
AuthorDate: Sat Feb 22 23:05:25 2025 -0800

<span style='display:block; white-space:pre;color:#404040;'>    p5-pdl: restore missing post-build perl script
</span>---
 perl/p5-pdl/files/fix-pdldocdb.pl | 64 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 64 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/perl/p5-pdl/files/fix-pdldocdb.pl b/perl/p5-pdl/files/fix-pdldocdb.pl
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..8adc622efa9
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/perl/p5-pdl/files/fix-pdldocdb.pl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,64 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#!/usr/bin/env perl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+use strict;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+use warnings;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+my ( $src_file, $dst_file, $cur_path, $new_path ) = @ARGV;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+usage() unless $src_file && $dst_file && -e $src_file;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+usage() unless $cur_path && $new_path;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+sub usage {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    warn "usage: $0 <input pdldoc.db> <output pdldoc.db>\n";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    warn "          <current path> <path after install>\n";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    warn @_;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    exit 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+my $hash = ensuredb( { File => [$src_file], Scanned => [], } );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+fix_directories($hash);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+savedb( { Outfile => $dst_file }, $hash );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+sub fix_directories {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    my ($hash) = @_;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    for my $key (%$hash) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        next unless exists $hash->{$key}->{File};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        $hash->{$key}->{File} =~ s{^$cur_path}{$new_path};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Taken from PDL::Doc with minor modifications
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+sub ensuredb {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    my ($this) = @_;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    while ( my $fi = pop @{ $this->{File} } ) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        open IN, $fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+          or die "can't open database $fi, scan docs first";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        binmode IN;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        my ( $plen, $txt );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        while ( read IN, $plen, 2 ) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            my ($len) = unpack "S", $plen;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            read IN, $txt, $len;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            my ($sym, @a) = split chr(0), $txt;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            push @a, '' if @a % 2; # Ensure an even number of elements
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            $this->{SYMS}->{$sym} = {@a};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        close IN;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        push @{ $this->{Scanned} }, $fi;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    return $this->{SYMS};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+sub savedb {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    my ( $this, $hash ) = @_;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ## my $hash = $this->ensuredb();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    open OUT, ">$this->{Outfile}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      or die "can't write to symdb $this->{Outfile}";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    binmode OUT;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    while ( my ( $key, $val ) = each %$hash ) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        next unless scalar(%$val);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        my $txt = "$key" . chr(0) . join( chr(0), %$val );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        print OUT pack( "S", length($txt) ) . $txt;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span></pre><pre style='margin:0'>

</pre>