I've decided, after my recent stint of re-installing gregorio from git,
that I understand the build well enough to create package build files
for my Linux distribution, gentoo.

However, I ran into a problem with the Makefile for the fonts directory.

The problem is that install (and localinstall) both insist on running
texhash at the end.  My remaining option, unless I want to do some
sed-magic on the Makefile, is to use the tds target and then unzip the
resulting package into the destination.  However, this adds an
unnecessary dependency on both zip and unzip.

Thus, I am proposing the attached patch.  This patch does two things:

Firstly, it consolidates tds, localinstall, and install.  I think this
will make it easier to keep things in sync since there's less
duplication of code.

Secondly, it makes texhash a variable so I can override it in a build.

Please include this if it is satisfactory.

Thanks,
Henry
diff --git a/fonts/Makefile b/fonts/Makefile
index 1f8780d..0a5f0d3 100755
--- a/fonts/Makefile
+++ b/fonts/Makefile
@@ -13,21 +13,15 @@ TDS_ZIP = $(NAME).tds.zip
 # Installation locations
 FORMAT = luatex
 NAME = gregoriotex
+TEXHASH = texhash
 TEXDIR = $(TEXMFROOT)/tex/$(FORMAT)/$(NAME)
 DOCDIR = $(TEXMFROOT)/doc/$(FORMAT)/$(NAME)
 TTFDIR = $(TEXMFROOT)/fonts/truetype/public/$(NAME)
 SRCDIR = $(TEXMFROOT)/source/$(FORMAT)/$(NAME)
 FNTSRCDIR = $(TEXMFROOT)/fonts/source/$(NAME)
-HOMETEXDIR = $(TEXMFHOMEROOT)/tex/$(FORMAT)/$(NAME)
-HOMEDOCDIR = $(TEXMFHOMEROOT)/doc/$(FORMAT)/$(NAME)
-HOMETTFDIR = $(TEXMFHOMEROOT)/fonts/truetype/public/$(NAME)
-HOMESRCDIR = $(TEXMFHOMEROOT)/source/$(FORMAT)/$(NAME)
-HOMEFNTSRCDIR = $(TEXMFHOMEROOT)/fonts/source/$(NAME)
-
 
 # a default value
 TEXMFROOT = `kpsewhich -var-value TEXMFLOCAL`
-TEXMFHOMEROOT = `kpsewhich -var-value TEXMFHOME`
 
 # installation rules
 INSTALL_TEXFILES = @mkdir -p $(TEXDIR) && cp $(TEXFILES) $(TEXDIR)
@@ -35,45 +29,28 @@ INSTALL_DOCFILES = @mkdir -p $(DOCDIR) && cp $(DOCFILES) $(DOCDIR)
 INSTALL_SRCFILES = @mkdir -p $(SRCDIR) && cp $(SRCFILES) $(SRCDIR)
 INSTALL_TTFFILES = @mkdir -p $(TTFDIR) && cp $(TTFFILES) $(TTFDIR)
 INSTALL_FNTSRCFILES = @mkdir -p $(FNTSRCDIR) && cp $(FNTSRCFILES) $(FNTSRCDIR)
-# local $HOME installation rules
-LOCAL_INSTALL_TEXFILES = @mkdir -p $(HOMETEXDIR) && cp $(TEXFILES) $(HOMETEXDIR)
-LOCAL_INSTALL_DOCFILES = @mkdir -p $(HOMEDOCDIR) && cp $(DOCFILES) $(HOMEDOCDIR)
-LOCAL_INSTALL_SRCFILES = @mkdir -p $(HOMESRCDIR) && cp $(SRCFILES) $(HOMESRCDIR)
-LOCAL_INSTALL_TTFFILES = @mkdir -p $(HOMETTFDIR) && cp $(TTFFILES) $(HOMETTFDIR)
-LOCAL_INSTALL_FNTSRCFILES = @mkdir -p $(HOMEFNTSRCDIR) && cp $(FNTSRCFILES) $(HOMEFNTSRCDIR)
-
 
-$(TDS_ZIP): TEXMFROOT=./tmp-texmf
-$(TDS_ZIP): $(ALLFILES)
-	@echo "Making TDS-ready archive $@."
-	@$(RM) -- $@
+installfiles: $(ALLFILES)
+	@echo "Installing in '$(TEXMFROOT)'."
+	@mkdir -p $(TEXMFROOT)
 	$(INSTALL_TEXFILES)
 	$(INSTALL_DOCFILES)
 	$(INSTALL_SRCFILES)
 	$(INSTALL_TTFFILES)
 	$(INSTALL_FNTSRCFILES)
+
+$(TDS_ZIP): TEXMFROOT=./tmp-texmf
+$(TDS_ZIP): installfiles
+	@echo "Making TDS-ready archive $@."
+	@$(RM) -- $@
 	@cd $(TEXMFROOT) && zip -9 ../$@ -r . >/dev/null
 	@$(RM) -r -- $(TEXMFROOT)
 	
-install: $(ALLFILES)
-	@echo "Installing in '$(TEXMFROOT)'."
-	@mkdir -p $(TEXMFROOT)
-	$(INSTALL_TEXFILES)
-	$(INSTALL_DOCFILES)
-	$(INSTALL_SRCFILES)
-	$(INSTALL_TTFFILES)
-	$(INSTALL_FNTSRCFILES)
-	texhash
-
-localinstall: $(ALLFILES)
-	@echo "Installing in '$(TEXMFHOMEROOT)'."
-	@mkdir -p $(TEXMFHOMEROOT)
-	$(LOCAL_INSTALL_TEXFILES)
-	$(LOCAL_INSTALL_DOCFILES)
-	$(LOCAL_INSTALL_SRCFILES)
-	$(LOCAL_INSTALL_TTFFILES)
-	$(LOCAL_INSTALL_FNTSRCFILES)
-	texhash
+install: installfiles
+	$(TEXHASH)
+
+localinstall: TEXMFROOT = `kpsewhich -var-value TEXMFHOME`
+localinstall: install
 
 gregorio.ttf: squarize.py gregorio-base.sfd
 	python2 squarize.py gregorio
_______________________________________________
Gregorio-users mailing list
[email protected]
https://mail.gna.org/listinfo/gregorio-users

Reply via email to