Skip to contentSkip to conversation

share/mk/: Generate the fonts during the build

PATCH New Alejandro Colomar 1 participant 2 messages Mar 25, 2024 Man-pages: manual pages for Linux -- Sections 2, 3, 4, 5, and 7

lore
Share & tools
lore

Alejandro Colomar

author maintainer
#0 lore raw

PATCH 1/2 share/mk/: Generate the fonts during the build

---

Hi Branden, Deri,

I've removed the Tinos font from the repository. I get a few more warnings now (especially after the second patch), but the PDF looks the same visually, I think. Would you mind reviewing the patches? I removed the contents of Tinos.pfa from this patch, to avoid 7858 lines of deleted .pfa.

I would also like to remove the TINOR thing, but I don't know how. If you can send a patch for it, it would be great. If you want to have a look in git, check out this branch:
<https://www.alejandro-colomar.es/src/alx/linux/man-pages/man-pages.git/log/?h=fonts>

Have a lovely day!
Alex

 scripts/LinuxManBook/devpdf/Tinos.pfa         | 7858 -----------------
 scripts/LinuxManBook/devpdf/download          |    1 -
 .../devpdf => share/mk/build/fonts}/TINOR     |    0
 share/mk/build/fonts/_.mk                     |   21 +
 share/mk/build/fonts/tinos.mk                 |   36 +
 share/mk/build/pdf/book.mk                    |    7 +-
 .../configure/build-depends/groff/pfbtops.mk  |   15 +
 .../texlive-fonts-extra/Tinos.pfb.mk          |   12 +
 8 files changed, 88 insertions(+), 7862 deletions(-)
 delete mode 100644 scripts/LinuxManBook/devpdf/Tinos.pfa
 delete mode 100755 scripts/LinuxManBook/devpdf/download
 rename {scripts/LinuxManBook/devpdf => share/mk/build/fonts}/TINOR (100%)
 create mode 100644 share/mk/build/fonts/_.mk
 create mode 100644 share/mk/build/fonts/tinos.mk
 create mode 100644 share/mk/configure/build-depends/groff/pfbtops.mk
 create mode 100644 share/mk/configure/build-depends/texlive-fonts-extra/Tinos.pfb.mk
scripts/LinuxManBook/devpdf/Tinos.pfa deleted +0 -0
deleted file mode 100644
index 88c21d670..000000000
@@ -1,7858 +0,0 @@
scripts/LinuxManBook/devpdf/download deleted +0 -1
deleted file mode 100755
index e230c8213..000000000
@@ -1 +0,0 @@
-	Tinos	Tinos.pfa
share/mk/build/fonts/TINOR renamed from scripts/LinuxManBook/devpdf/TINOR +0 -0
similarity index 100%
rename from scripts/LinuxManBook/devpdf/TINOR
rename to share/mk/build/fonts/TINOR
share/mk/build/fonts/_.mk new file +21 -0
new file mode 100644
index 000000000..8b456453e
@@ -0,0 +1,21 @@
+# Copyright 2021-2024, Alejandro Colomar <[email protected]>
+# SPDX-License-Identifier: LGPL-3.0-only WITH LGPL-3.0-linking-exception
+
+
+ifndef MAKEFILE_BUILD_FONTS_INCLUDED
+MAKEFILE_BUILD_FONTS_INCLUDED := 1
+
+
+include $(MAKEFILEDIR)/build/_.mk
+include $(MAKEFILEDIR)/configure/directory_variables/src.mk
+include $(MAKEFILEDIR)/src/man.mk
+
+
+_FONTSDIR := $(builddir)/fonts
+
+
+.PHONY: build-fonts
+build-fonts: build-fonts-tinos
+
+
+endif  # include guard
share/mk/build/fonts/tinos.mk new file +36 -0
new file mode 100644
index 000000000..2b93e84ec
@@ -0,0 +1,36 @@
+# Copyright 2021-2024, Alejandro Colomar <[email protected]>
+# SPDX-License-Identifier: LGPL-3.0-only WITH LGPL-3.0-linking-exception
+
+
+ifndef MAKEFILE_BUILD_FONTS_TINOS_INCLUDED
+MAKEFILE_BUILD_FONTS_TINOS_INCLUDED := 1
+
+
+include $(MAKEFILEDIR)/build/fonts/_.mk
+include $(MAKEFILEDIR)/configure/build-depends/texlive-fonts-extra/Tinos.pfb.mk
+include $(MAKEFILEDIR)/configure/build-depends/groff/pfbtops.mk
+
+
+TINOR := $(MAKEFILEDIR)/build/fonts/TINOR
+
+
+_TINOS_PFA := $(_FONTSDIR)/Tinos.pfa
+_TINOR     := $(_FONTSDIR)/TINOR
+
+_TINOS := $(_TINOS_PFA) $(_TINOR)
+
+
+$(_TINOS_PFA): $(TINOS_PFB) $(MK) | $$(@D)/
+	$(info	$(INFO_)PFBTOPS		$@)
+	$(PFBTOPS) <$< >$@
+
+$(_TINOR): $(_FONTSDIR)/%: $(MAKEFILEDIR)/build/fonts/% $(MK) | $$(@D)/
+	$(info	$(INFO_)CP		$@)
+	$(CP) -T $< $@
+
+
+.PHONY: build-fonts-tinos
+build-fonts-tinos: $(_TINOS)
+
+
+endif  # include guard
share/mk/build/pdf/book.mk +4 -3
index 7566f0043..21097fd0e 100644
@@ -8,6 +8,7 @@ MAKEFILE_BUILD_PDF_BOOK_INCLUDED := 1
 
 include $(MAKEFILEDIR)/build/_.mk
 include $(MAKEFILEDIR)/build/man/_.mk
+include $(MAKEFILEDIR)/build/fonts/_.mk
 include $(MAKEFILEDIR)/configure/build-depends/coreutils/cat.mk
 include $(MAKEFILEDIR)/configure/build-depends/groff/gropdf.mk
 include $(MAKEFILEDIR)/configure/build-depends/groff-base/eqn.mk
@@ -27,7 +28,7 @@ _PDFDIR   := $(builddir)
 _PDF_BOOK := $(_PDFDIR)/$(PDF_BOOK)
 
 
-$(_PDF_BOOK): $(_MANPAGES) $(wildcard $(LMBDIR)/* $(LMBDIR)/*/*) | $$(@D)/
+$(_PDF_BOOK): $(_MANPAGES) $(_TINOS) $(wildcard $(LMBDIR)/*) | $$(@D)/
 	$(info	$(INFO_)GROPDF		$@)
 	( \
 		$(CAT) "$(LMBDIR)"/LMBfront.roff; \
@@ -38,8 +39,8 @@ $(_PDF_BOOK): $(_MANPAGES) $(wildcard $(LMBDIR)/* $(LMBDIR)/*/*) | $$(@D)/
 	| $(PIC) \
 	| $(TBL) \
 	| $(EQN) -Tpdf \
-	| $(TROFF) -Tpdf -F"$(LMBDIR)" -dpaper=a4 $(TROFFFLAGS) \
-	| $(GROPDF) -F"$(LMBDIR)" -pa4 $(GROPDFFLAGS) \
+	| $(TROFF) -Tpdf -F$(_FONTSDIR) -dpaper=a4 $(TROFFFLAGS) \
+	| $(GROPDF) -F$(_FONTSDIR) -pa4 $(GROPDFFLAGS) \
 	| $(SPONGE) $@
 
 
share/mk/configure/build-depends/groff/pfbtops.mk new file +15 -0
new file mode 100644
index 000000000..73f5f0455
@@ -0,0 +1,15 @@
+# Copyright 2024, Alejandro Colomar <[email protected]>
+# SPDX-License-Identifier: LGPL-3.0-only WITH LGPL-3.0-linking-exception
+
+
+ifndef MAKEFILE_CONFIGURE_BUILD_DEPENDS_GROFF_PFBTOPS_INCLUDED
+MAKEFILE_CONFIGURE_BUILD_DEPENDS_GROFF_PFBTOPS_INCLUDED := 1
+
+
+DEFAULT_PFBTOPSFLAGS :=
+EXTRA_PFBTOPSFLAGS   :=
+PFBTOPSFLAGS         := $(DEFAULT_PFBTOPSFLAGS) $(EXTRA_PFBTOPSFLAGS)
+PFBTOPS              := pfbtops
+
+
+endif  # include guard
share/mk/configure/build-depends/texlive-fonts-extra/Tinos.pfb.mk new file +12 -0
new file mode 100644
index 000000000..c1c713c41
@@ -0,0 +1,12 @@
+# Copyright 2024, Alejandro Colomar <[email protected]>
+# SPDX-License-Identifier: LGPL-3.0-only WITH LGPL-3.0-linking-exception
+
+
+ifndef MAKEFILE_CONFIGURE_BUILD_DEPENDS_TEXLIVE_FONTS_EXTRA_TINOS_PFB_INCLUDED
+MAKEFILE_CONFIGURE_BUILD_DEPENDS_TEXLIVE_FONTS_EXTRA_TINOS_PFB_INCLUDED := 1
+
+
+TINOS_PFB := /usr/share/texlive/texmf-dist/fonts/type1/google/tinos/Tinos.pfb
+
+
+endif  # include guard
Signature · 1 line
2.43.0
author maintainer
#1 lore raw

PATCH 2/2 share/mk/: Reorganize files for generating the PDF book

---
 share/mk/build/pdf/{book.mk => book/_.mk}             | 11 ++++++-----
 .../LinuxManBook => share/mk/build/pdf/book}/an.tmac  |  0
 .../mk/build/pdf/book/front.roff                      |  0
 .../mk/build/pdf/book}/prepare.pl                     |  0
 share/mk/install/pdf/{pdf.mk => book.mk}              |  2 +-
 5 files changed, 7 insertions(+), 6 deletions(-)
 rename share/mk/build/pdf/{book.mk => book/_.mk} (83%)
 rename {scripts/LinuxManBook => share/mk/build/pdf/book}/an.tmac (100%)
 rename scripts/LinuxManBook/LMBfront.roff => share/mk/build/pdf/book/front.roff (100%)
 rename {scripts/LinuxManBook => share/mk/build/pdf/book}/prepare.pl (100%)
 rename share/mk/install/pdf/{pdf.mk => book.mk} (94%)
share/mk/build/pdf/book/_.mk renamed from share/mk/build/pdf/book.mk +6 -5
similarity index 83%
rename from share/mk/build/pdf/book.mk
rename to share/mk/build/pdf/book/_.mk
index 21097fd0e..26027cb4c 100644
@@ -20,7 +20,8 @@ include $(MAKEFILEDIR)/configure/build-depends/moreutils/sponge.mk
 include $(MAKEFILEDIR)/configure/version.mk
 
 
-LMBDIR   := $(CURDIR)/scripts/LinuxManBook
+MKBOOKDIR := $(MAKEFILEDIR)/build/pdf/book
+MKBOOK    := $(wildcard $(MKBOOKDIR)/*)
 
 
 PDF_BOOK  := $(DISTNAME).pdf
@@ -28,12 +29,12 @@ _PDFDIR   := $(builddir)
 _PDF_BOOK := $(_PDFDIR)/$(PDF_BOOK)
 
 
-$(_PDF_BOOK): $(_MANPAGES) $(_TINOS) $(wildcard $(LMBDIR)/*) | $$(@D)/
+$(_PDF_BOOK): $(_MANPAGES) $(_TINOS) $(MKBOOK) $(MK) | $$(@D)/
 	$(info	$(INFO_)GROPDF		$@)
 	( \
-		$(CAT) "$(LMBDIR)"/LMBfront.roff; \
-		$(CAT) "$(LMBDIR)"/an.tmac; \
-		"$(LMBDIR)"/prepare.pl "$(_MANDIR)"; \
+		$(CAT) $(MKBOOKDIR)/front.roff; \
+		$(CAT) $(MKBOOKDIR)/an.tmac; \
+		$(MKBOOKDIR)/prepare.pl $(_MANDIR); \
 	) \
 	| $(PRECONV) \
 	| $(PIC) \
share/mk/build/pdf/book/an.tmac renamed from scripts/LinuxManBook/an.tmac +0 -0
similarity index 100%
rename from scripts/LinuxManBook/an.tmac
rename to share/mk/build/pdf/book/an.tmac
share/mk/build/pdf/book/front.roff renamed from scripts/LinuxManBook/LMBfront.roff +0 -0
similarity index 100%
rename from scripts/LinuxManBook/LMBfront.roff
rename to share/mk/build/pdf/book/front.roff
share/mk/build/pdf/book/prepare.pl renamed from scripts/LinuxManBook/prepare.pl +0 -0
similarity index 100%
rename from scripts/LinuxManBook/prepare.pl
rename to share/mk/build/pdf/book/prepare.pl
share/mk/install/pdf/book.mk renamed from share/mk/install/pdf/pdf.mk +1 -1
similarity index 94%
rename from share/mk/install/pdf/pdf.mk
rename to share/mk/install/pdf/book.mk
index 58aba1c5f..083bce2ae 100644
@@ -6,7 +6,7 @@ ifndef MAKEFILE_INSTALL_PDF_BOOK_INCLUDED
 MAKEFILE_INSTALL_PDF_BOOK_INCLUDED := 1
 
 
-include $(MAKEFILEDIR)/build/pdf/book.mk
+include $(MAKEFILEDIR)/build/pdf/book/_.mk
 include $(MAKEFILEDIR)/configure/build-depends/coreutils/install.mk
 include $(MAKEFILEDIR)/configure/directory_variables/install.mk
 
Signature · 1 line
2.43.0