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

