unofficial mirror of meta@public-inbox.org
 help / color / mirror / Atom feed
From: Eric Wong <e@80x24.org>
To: meta@public-inbox.org
Subject: [PATCH 2/3] build: check with lexgrog(1) if available
Date: Sun, 24 Jan 2021 19:53:45 -0900	[thread overview]
Message-ID: <20210125045346.16264-3-e@80x24.org> (raw)
In-Reply-To: <20210125045346.16264-1-e@80x24.org>

This will make life easier for Debian package maintainers
running lintian.

cf. commit 1350f5ab09f72c75ac2cd6c88f6a2b9e198fef55
    ("public-inbox-v[12]-format.pod: make lexgrog happy")
---
 .gitignore               | 1 +
 Documentation/include.mk | 3 +++
 Makefile.PL              | 8 +++++++-
 3 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/.gitignore b/.gitignore
index 7f4142ba..f7e4c595 100644
--- a/.gitignore
+++ b/.gitignore
@@ -16,6 +16,7 @@
 *.gz
 .*.cols
 .*.check
+.*.lexgrog
 /NEWS.html
 /NEWS.atom
 /NEWS
diff --git a/Documentation/include.mk b/Documentation/include.mk
index df6c17e0..79bf460d 100644
--- a/Documentation/include.mk
+++ b/Documentation/include.mk
@@ -6,6 +6,7 @@ RSYNC = rsync
 RSYNC_DEST = public-inbox.org:/srv/public-inbox/
 AWK = awk
 MAN = man
+LEXGROG = lexgrog
 
 # this is "xml" on FreeBSD and maybe some other distros:
 XMLSTARLET = xmlstarlet
@@ -56,6 +57,8 @@ check_man = $(AWK) '{gsub(/\b./,"")}length>80{print;err=1}END{exit(err)}'\
 
 check-man :: $(check_80)
 
+check-lexgrog :: $(check_lexgrog)
+
 all :: $(docs)
 
 txt2pre = $(PERL) -I lib ./Documentation/txt2pre >$@
diff --git a/Makefile.PL b/Makefile.PL
index 613a72ae..c57491eb 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -65,8 +65,12 @@ for my $i (@sections) {
 		$t->{".$m.cols : $m.$i"} = [
 			"\@echo CHECK80 $m.$i;".
 			"COLUMNS=80 \$(MAN) ./$m.$i | \$(check_man)" ];
+		$t->{".$m.lexgrog: $m.$i"} = [
+			"\@echo LEXGROG $m.$i;" .
+			"\$(LEXGROG) ./$m.$i >\$\@+ && mv \$\@+ \$@" ];
 	}
 	push @{$v->{check_80}}, map { ".$_.cols" } @$ary;
+	push @{$v->{check_lexgrog}}, map { ".$_.lexgrog" } @$ary;
 	my $manuals = $v->{"man$i"} = [ map { "$_.$i" } @$ary ];
 	push @{$v->{manuals}}, @$manuals;
 	push @{$v->{mantxt}}, map { "Documentation/$_.txt" } @$ary;
@@ -121,6 +125,8 @@ my %man3 = map {; # semi-colon tells Perl this is a BLOCK (and not EXPR)
 	"lib/PublicInbox/$_" => "blib/man3/PublicInbox::$mod.\$(MAN3EXT)"
 } qw(Git.pm Import.pm WWW.pod SaPlugin/ListMirror.pod);
 my $warn_no_pod = @no_pod ? "\n\t\@echo W: missing .pod: @no_pod\n" : '';
+chomp(my $lexgrog = `which lexgrog 2>/dev/null`);
+my $check_lexgrog = $lexgrog ? 'check-lexgrog' : '';
 
 WriteMakefile(
 	NAME => 'PublicInbox', # n.b. camel-case is not our choice
@@ -184,7 +190,7 @@ $VARS
 -include Documentation/include.mk
 $TGTS
 
-check-man ::$warn_no_pod
+check-man :: $check_lexgrog$warn_no_pod
 
 # syntax checks are currently GNU make only:
 %.syntax :: %

  parent reply	other threads:[~2021-01-25  4:53 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-25  4:53 [PATCH 0/3] doc: some extindex updates Eric Wong
2021-01-25  4:53 ` [PATCH 1/3] doc: extindex-format: make lexgrog happy Eric Wong
2021-01-25  4:53 ` Eric Wong [this message]
2021-01-25  4:53 ` [PATCH 3/3] doc: start working on public-inbox-extindex(1) manpage Eric Wong

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://public-inbox.org/README

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210125045346.16264-3-e@80x24.org \
    --to=e@80x24.org \
    --cc=meta@public-inbox.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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 read-only IMAP folder(s) and NNTP newsgroup(s).