GNU FreeFont silent build failure

  • Open
  • quality assurance status badge
Details
One participant
  • Leo Famulari
Owner
unassigned
Submitted by
Leo Famulari
Severity
normal
L
L
Leo Famulari wrote on 22 Apr 2020 23:51
(address . bug-guix@gnu.org)
20200422215126.GA1669@jasmine.lan
The GNU FreeFont package is still using system* instead of invoke in its
install phase, and this is failing silently:

------
mkdir /gnu/store/1nfp73g3s15dhpqjrbfsihk7jrcbbl1p-font-gnu-freefont-20120503/share/doc/font-gnu-freefont-20120503
cp -a README AUTHORS CREDITS COPYING ChangeLog INSTALL /gnu/store/1nfp73g3s15dhpqjrbfsihk7jrcbbl1p-font-gnu-freefont-20120503/share/doc/font-gnu-freefont-20120503
cp -a notes/usage.txt /gnu/store/1nfp73g3s15dhpqjrbfsihk7jrcbbl1p-font-gnu-freefont-20120503/share/doc/font-gnu-freefont-20120503/USAGE
cp -a notes/troubleshooting.txt /gnu/store/1nfp73g3s15dhpqjrbfsihk7jrcbbl1p-font-gnu-freefont-20120503/share/doc/font-gnu-freefont-20120503/TROUBLESHOOTING
tar czvf freefont-ttf-20200422.tar.gz freefont-20200422/
tar: freefont-20200422: Cannot stat: No such file or directory
tar: Exiting with failure status due to previous errors
make: *** [Makefile:64: ttftar] Error 2
phase `install' succeeded after 0.2 seconds
------

Notice that it is using the current date. It doesn't work to use the
Unix epoch or the version of the package: 20120503 (see attached).

We should figure out what this is trying to accomplish, fix it, and
switch to invoke.

The fonts are getting installed AFAICT.
`(#:modules ((srfi srfi-19) ; make-time, et cetera
(guix build utils)
(guix build gnu-build-system))
#:phases
(modify-phases %standard-phases
;; The FreeFont build scripts try to use the current time and date as
;; names for generated files.
(add-after 'unpack 'source-date-epoch
(lambda _
(substitute* "Makefile"
(("\\$\\(shell date \\+\\\"%Y%m%d\\\"\\)")
(date->string
(time-utc->date
(make-time time-utc 0
(string->number (getenv "SOURCE_DATE_EPOCH"))))
"~4")))
#t))
?