Hi Mark! Mark H Weaver <m...@netris.org> skribis:
> The attached patch eliminates the use of 'inkscape' and 'imagemagick' to > convert our grub background image from SVG to PNG. The job is now done > using 'librsvg' [1] via Guile's dynamic FFI. I was unable to perform > the needed scaling using the 'rsvg-convert' program, so I had to use > librsvg directly. > > As a side benefit, the resulting image quality should be superior when > scaling is performed, because scaling is now effectively done in the > vector representation during rendering, whereas previously it was done > in the raster representation as a separate step. > > What do you think? I think it’s excellent. :-) > From a50f358b083cff4d156cd7116fee516952fc9bcf Mon Sep 17 00:00:00 2001 > From: Mark H Weaver <m...@netris.org> > Date: Fri, 2 Sep 2016 02:26:43 -0400 > Subject: [PATCH] system: grub: Use librsvg to convert SVG to PNG. > > * guix/build/svg.scm: New file. > * Makefile.am (MODULES): Add it. > * gnu/system/grub.scm (svg->png): Add 'width' and 'height' arguments. > Reimplement using (guix build svg). Drop references to 'inkscape' and > 'imagemagick'. > (resize-image): Remove. > (grub-background-image): Adapt to the incorporation of scaling into > 'svg->png'. [...] > +(define-module (guix build svg) > + #:use-module (ice-9 match) > + #:use-module (system foreign) > + #:use-module (rnrs bytevectors) > + #:export (svg->png)) Is there are reason for not using guile-rsvg and guile-cairo? Otherwise I think it would be preferable (they’d need to be autoloaded so that ‘make’ doesn’t fail when they’re missing, but that’s OK.) I found an example that Andy had posted: https://lists.gnu.org/archive/html/guix-devel/2015-08/msg00753.html Thank you! Ludo’.