>> A side issue: I feel that the `install-file' procedure should print out >> what it's doing to stdout (or some log port). Something like: >> >> (format #t "~a -> ~a~%" source destination) >> >> This would save us the trouble of implementing this log printing >> everywhere `install-file' is called. For example, this could be very >> useful in the 'install' phase of the font-build-sytem. WDYT? > > Do we really need to print something in the first place? :-) Some > procedures in (guix build utils) do that, indeed, but I’m not sure it’s > useful for something as simple as ‘install-file’. Thoughts? Yes, I think it is really important. Without the verbose output, one will have to stare at a blank screen, guessing at what is happening. Long verbose output feels reassuring that something is going on. :-) Also, verbose output for `install-file' might help in debugging correct source/destination paths. >> The patches migrating the font packages to the font-build-system are not >> properly complete. I'll send them in after more work. For now, please >> find attached the patch for the font-build-system alone. The four font packages (inconsolata, dejavu, ubuntu and bitstream-vera) are also ready. >> * Makefile.am (MODULES): Add 'guix/build-system/font.scm' and >> 'guix/build/font-build-system.scm'. >> * guix/build-system/font.scm: New file. >> * guix/build/font-build-system.scm: New file. > > Please mention guix.texi as well. Done! >> +@defvr {Scheme Variable} font-build-system >> +This variable is exported by @code{(guix build-system font)}. It >> +implements an installation procedure for font packages. It copies font > ^ > I’d write: > > … for font packages where upstream provides pre-compiled TrueType, > OpenType, etc. font files that merely need to be copied into place > > This is to distinguish from fonts that we build from a FontForge > (whatever it’s called today) source. Done! >> + ,@(let ((compression (resolve-module '(gnu packages compression)))) >> + (map (match-lambda >> + ((name package) >> + (list name (module-ref compression package)))) >> + `(("tar" tar) >> + ("gzip" gzip) >> + ("bzip2" bzip2) >> + ("xz" xz)))))) > > This works, but since ‘tar’ is defined in (gnu packages base), it’s > better to take it from there. Done! I have also included "unzip" because several font packages come as zip archives. WDYT? > Also, prefer ‘resolve-interface’ over ‘resolve-module’: the former > provides access to public/exported bindings only, whereas the latter > provides access to both public and private bindings. Done! > Do some of the candidate packages provide Type1 fonts? If not, this is > perfect; if we do, then in a future patch we can extend it to support > Type1 as well. I haven't come across Type1 fonts yet. After pushing these patches (after I hear your thoughts on "unzip"), I'll start migrating the other font packages. When I come across Type1 fonts, I'll extend the font-build-system as well.