<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>