about summary refs log tree commit homepage
path: root/Makefile.PL
diff options
context:
space:
mode:
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>2021-10-19 13:13:52 +0200
committerEric Wong <e@80x24.org>2021-10-19 11:46:14 +0000
commit8377d44046ade5becb21f71e4d1d68dd6ae2bbf0 (patch)
tree5337b0c7859ca877b4e16899a108c4d078ed6e71 /Makefile.PL
parent325fbe26c3e7731eb53bea7f2ce2627c8828e0d8 (diff)
downloadpublic-inbox-8377d44046ade5becb21f71e4d1d68dd6ae2bbf0.tar.gz
Running "make test" on this project doesn't pass unless you've got an
existing PublicInbox.pm in your @INC, presumably nobody's set this up
on a fresh machine in a while.

This Makefile.PL trickery seems to do it, I've validated this with
this ad-hoc test of committing blib/ and Makefile to the repository:

    git clean -dxf; perl Makefile.PL && make -j8 all && git add -f blib Makefile.PL Makefile && git commit -m"now"

Running that in interactive rebase before/after shows that only the
PublicInbox.pm file was added to blib/lib/. We use $(INST_LIB) instead
of a hardcoded 'blib/lib' now, but it's what ExtUtils::MakeMaker
recommends, so it's probably for the better.

As far as I can tell this broke with 1fae720d (build: generate
PublicInbox.pm with $VERSION, 2021-04-01), but I have not tested
that. See also 1fae720d (build: generate PublicInbox.pm with $VERSION,
2021-04-01) which made the PublicInbox.pm a generated file.
Diffstat (limited to 'Makefile.PL')
-rw-r--r--Makefile.PL10
1 files changed, 10 insertions, 0 deletions
diff --git a/Makefile.PL b/Makefile.PL
index 348a343d..b3ac59be 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -190,6 +190,16 @@ WriteMakefile(
                 FILES => 't/home*/setup* t/home*/t* t/home*/.public-inbox '.
                         't/data-gen/*'
         },
+        PM => {
+                map {
+                        s[^lib/][]s;
+                        +('lib/' . $_ => '$(INST_LIB)/' . $_);
+                } grep {
+                        # Will include *.pod and an *.h file, but so
+                        # would ExtUtils::MakeMaker.
+                        m[^lib/];
+                } @manifest
+        },
 );
 
 sub MY::postamble {