Update of bug #66876 (group groff):

                  Status:                    None => In Progress
             Assigned to:                    None => gbranden

    _______________________________________________________

Follow-up Comment #6:

Finally getting back to your original report...

[comment #0 original submission:]
> While building a package for openSUSE, I see a failure if the build process
> uses groff 1.23.0 but it works with groff 1.22.4
> 
> This is the failure message:
>> printf \
>> '#\n# This is a list of all predefined groff symbols.\n#\n' \
>>> output/generate/symbol.map \
>> && cat generate/text.map generate/symbolchars >>generate/symbol.map
>> /bin/sh: line 2: output/generate/symbol.map: No such file or directory
>> make: *** [generate/Makefile:291: generate/symbol.map] Error 1
> 
> I have compared the file font/devps/generate/Makefile from the tar source of
> groff 1.22.4 and 1.23.0.
> This is an extract of the diff:
> 
> 287,291c290,294
> < symbolmap: $(TEXTMAP) $(srcdir)/symbolchars
> <       echo '#' >$@
> <       echo '# This is a list of all predefined groff symbols.' >>$@
> <       echo '#' >>$@
> <       cat $(TEXTMAP) $(srcdir)/symbolchars >>$@
> ---
>> $(srcdir)/symbol.map: $(TEXTMAP) $(srcdir)/symbolchars
>> printf \
>> '#\n# This is a list of all predefined groff symbols.\n#\n' \
>>> $(OUTDIR)/$@ \
>> && cat $(TEXTMAP) $(srcdir)/symbolchars >>$@
> 
> In the the old version of the Makefile the text "This is a list ..." and the
> content of $(TEXTMAP) go in the same file ($@).
> In the new version the text "This is a list ..." goes in $(OUTDIR)/$@ while
> the content of $(TEXTMAP) goes in $@.
> Since the error message complains that the file output/generate/symbol.map
> does not exit but it doesn't complain about the file generate/symbol.map I
> assume that the new makefile should be:
> 
>> $(srcdir)/symbol.map: $(TEXTMAP) $(srcdir)/symbolchars
>> printf \
>> '#\n# This is a list of all predefined groff symbols.\n#\n' \
>>> $@ \
>> && cat $(TEXTMAP) $(srcdir)/symbolchars >>$@
> 
> And indeed if I make such change in the build environment, the building error
> is gone.
> I'm no expert of groff or make so I'll let you evaluate if my finding is
> valid or not.

Yup, completely valid.  I found a whole pile of other problems with this
Makefile, too (and the Automake file that drives it in "maintainer mode"), and
I'm working on them.

I'll share for now the hunks of diff I think you might be interested in.


diff --git a/font/devps/generate/Makefile b/font/devps/generate/Makefile
index f3ecee4bc..bd1adb117 100644
--- a/font/devps/generate/Makefile
+++ b/font/devps/generate/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 1989-2022 Free Software Foundation, Inc.
+# Copyright (C) 1989-2025 Free Software Foundation, Inc.
 #      Written by James Clark (j...@jclark.com)
 #
 # This file is part of groff.
@@ -30,11 +30,11 @@ SHELL = /bin/sh
 afmdir=/usr/local/lib/afm
 
 # Write font descriptions to this directory.
-outdir=$(srcdir)/..
+OUTDIR=.
 
 # The symbol font which fits to 'Symbol.afm'.  For the creation of
 # 'symbolsl.afm' we need the 'printafm' script from ghostscript.
-symbolfont=/usr/local/lib/fonts/Symbol.pfb
+symbolfont=$(afmdir)/Symbol.pfb
@@ -288,10 +345,7 @@ $(GREEKFONTS): $(srcdir)/slanted-symbol.map
 $(FONTS): $(DESC)
 
 $(srcdir)/symbol.map: $(TEXTMAP) $(srcdir)/symbolchars
-       printf \
-         '#\n# This is a list of all predefined groff symbols.\n#\n' \
-         > $(OUTDIR)/$@ \
-         && cat $(TEXTMAP) $(srcdir)/symbolchars >>$@
+         cat $(TEXTMAP) $(srcdir)/symbolchars >>$(OUTDIR)/$@
 
 clean:
        cd $(OUTDIR) \


This won't apply _quite_ cleanly to _groff_ 1.23.0, because we (I) renamed
"symbolmap" to "symbol.map", as part of imposing a regular nomenclature of the
character name mapping files.

Here's a partial session transcript.


$ make V=1 maintainer-font-descriptions
MAINTAINER_FONT_DIR_AFM=/home/branden/Downloads/Adobe-Core35_AFMs-314
/usr/bin/mkdir -p ../font/devX100 \
  && sed -e 's/res .*/res 100/' ../src/devices/xditview/DESC.in \
> ../font/devX100/DESC \
  && ./xtotroff -d ../font/devX100 -r 100 -s 10 \
    ../src/devices/xditview/FontMap-X11
-adobe-times-medium-r-normal--14-100-100-100-p-74-iso8859-1 -> TR
-adobe-times-medium-i-normal--14-100-100-100-p-73-iso8859-1 -> TI

[...snipping a whole bunch of X11 font stuff few people care about...]

-adobe-symbol-medium-r-normal--12-120-75-75-p-74-adobe-fontspecific -> S
PATH=.:/home/branden/ncurses-HEAD/bin:/home/branden/groff-HEAD/bin:/home/branden/groff-stable/bin:/home/branden/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/games:/usr/games
\
  make -f ../font/devps/generate/Makefile \
  AFMTODIT=./afmtodit \
  afmdir=/home/branden/Downloads/Adobe-Core35_AFMs-314 \
  srcdir=../font/devps/generate DESC=../font/devps/DESC.in
make[1]: Entering directory '/home/branden/src/GIT/groff/build'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/branden/src/GIT/groff/build'


You'll notice hints of other changes I have pending (or that have happened
since _groff_ 1.23.0 was released).


    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?66876>

_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/

Attachment: signature.asc
Description: PGP signature

Reply via email to