aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Orlitzky <mjo@gentoo.org>2019-12-09 22:10:18 -0500
committerUlrich Müller <ulm@gentoo.org>2020-01-27 20:57:02 +0100
commit6bff1eb8b62b9d07e1cc1098eb617f9302487907 (patch)
tree49404fb42a1c6a07a5669b02ad2ca36de8052215
parentMakefile: add prereq check for the Open Sans font. (diff)
downloaddevmanual-6bff1eb8b62b9d07e1cc1098eb617f9302487907.tar.gz
devmanual-6bff1eb8b62b9d07e1cc1098eb617f9302487907.tar.bz2
devmanual-6bff1eb8b62b9d07e1cc1098eb617f9302487907.zip
Makefile: use rsvg-convert to generate PNGs from SVGs.
Our Makefile currently uses inkscape (via imagemagick's "convert" wrapper) to turn SVGs into PNGs. This has a few downsides: * media-gfx/inkscape is a huge dependency, * inkscape is slow to perform the conversion, * installing imagemagick[svg] doesn't ensure that "convert" can convert an SVG to a PNG if inkscape is missing (bug 684686). The good news is that there is another SVG -> PNG conversion tool called rsvg-convert that is installed by gnome-base/librsvg. Compared to inkscape, librsvg is a light dependency and rsvg-convert is lightning-fast. Moreover, installing gnome-base/librsvg guarantees that the latter will exist and can actually perform the conversion. Inkscape is supposedly more powerful, but so far in the devmanual we're only using SVG to put words in boxes. The simpler tool is sufficient for that, and therefore preferable. This commit updates the Makefile to use rsvg-convert. Bug: https://bugs.gentoo.org/684686 Closes: https://bugs.gentoo.org/700904 Signed-off-by: Michael Orlitzky <mjo@gentoo.org> Signed-off-by: Ulrich Müller <ulm@gentoo.org>
-rw-r--r--Makefile6
1 files changed, 3 insertions, 3 deletions
diff --git a/Makefile b/Makefile
index 9cccb38..e7131ed 100644
--- a/Makefile
+++ b/Makefile
@@ -10,8 +10,8 @@ IMAGES := $(patsubst %.svg,%.png,$(SVGS))
all: prereq validate $(HTMLS) $(IMAGES) documents.js
prereq:
- @type convert >/dev/null 2>&1 || \
- { echo "media-gfx/imagemagick[corefonts,svg,truetype] required" >&2;\
+ @type rsvg-convert >/dev/null 2>&1 || \
+ { echo "gnome-base/librsvg required" >&2;\
exit 1; }
@type xsltproc >/dev/null 2>&1 || \
{ echo "dev-libs/libxslt is with python required" >&2;\
@@ -32,7 +32,7 @@ documents.js: bin/build_search_documents.py $(XMLS)
mv _documents.js documents.js
%.png : %.svg
- convert $< $@
+ rsvg-convert --output=$@ $<
# Secondary expansion allows us to use the automatic variable $@ in
# the prerequisites. When it is used (and we have no idea when that