> It would be nice to install README, COPYING, and LICENSE if they exist. > It’s okay to not do that as a first step though. I don't see the utility in installing these files. But, if we're not doing them in this initial font-build-system, I suppose we can debate later. > Nitpick: the “build:” prefix in subject line is meant to refer to the > configure/Makefile machinery of Guix itself. I would use > > build-system: Add 'font-build-system'. Done! >> + (and (not target) ;XXX: no cross-compilation >> + (bag >> + (name name) >> + (system system) >> + (host-inputs `(,@(if source >> + `(("source" ,source)) >> + '()) >> + ,@inputs >> + >> + ;; Keep the standard inputs of 'gnu-build-system'. >> + ,@(standard-packages))) >> + (build-inputs native-inputs) >> + (outputs outputs) >> + (build font-build) >> + (arguments (strip-keyword-arguments private-keywords arguments))))) > > I would remove (and (not target) …). After all, we know that the result > is architecture-independent data, so we can build it natively regardless > of whether TARGET is true. Done! > Also, (standard-packages) is way more than needed (it includes the whole > toolchain, etc.; see build-system/gnu.scm). Here all we need is tar, > gzip, bzip2, and xz. I have attempted something for this. I'm not sure I did it the correct way. Do let me know. I actually have very little understanding of what's going on in guix/build-system/font.scm. I just copied guix/build-system/emacs.scm and modified it a little. Can I find documentation of `bag' fields somewhere in the manual? > Could you updated it accordingly? > >> +(define* (install #:key outputs #:allow-other-keys) >> + "Install the package contents." >> + (let* ((out (assoc-ref outputs "out")) >> + (src-dir (getcwd)) >> + (fonts-dir (string-append out "/share/fonts"))) > > I’d avoid abbreviations in identifiers. So “source” or > “source-directory”, etc. Done! 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? > One last thing: could you add an entry for ‘font-build-system’ in > guix.texi under “Build Systems”? I have added a short description. Is it too short? Should I elaborate? >> From d5a745fddf7b6512e4b5c317c19dc8cd3f9a8efe Mon Sep 17 00:00:00 2001 >> From: Arun Isaac >> Date: Mon, 15 May 2017 20:16:04 +0530 >> Subject: [PATCH 2/5] gnu: font-inconsolata: Use 'font-build-system'. >> >> * gnu/packages/fonts.scm (font-inconsolata): Switch to 'font-build-system'. > > [...] > >> From e0af4ce17f0e99f72926f93b5d5ed99df57cf06a Mon Sep 17 00:00:00 2001 >> From: Arun Isaac >> Date: Mon, 15 May 2017 20:18:08 +0530 >> Subject: [PATCH 3/5] gnu: font-ubuntu: Use 'font-build-system'. >> >> * gnu/packages/fonts.scm (font-ubuntu): Switch to 'font-build-system'. > > [...] > >> From c557da3c5167de0cb5714c5f545b07ac8cd55dae Mon Sep 17 00:00:00 2001 >> From: Arun Isaac >> Date: Mon, 15 May 2017 20:19:33 +0530 >> Subject: [PATCH 4/5] gnu: font-dejavu: Use 'font-build-system'. >> >> * gnu/packages/fonts.scm (font-dejavu): Switch to 'font-build-system'. > > [...] > >> From f302764eb627726548a89438b8c3b6a8ff5988d4 Mon Sep 17 00:00:00 2001 >> From: Arun Isaac >> Date: Mon, 15 May 2017 20:20:26 +0530 >> Subject: [PATCH 5/5] gnu: font-bitstream-vera: Use 'font-build-system'. >> >> * gnu/packages/fonts.scm (font-bitstream-vera): Switch to 'font-build-system'. >> --- >> gnu/packages/fonts.scm | 33 +-------------------------------- >> 1 file changed, 1 insertion(+), 32 deletions(-) > > Really pleasant to see all these deletions. :-) Many more sweet deletions will follow once the font-build-system is complete! :-) 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.