On Fri, Jan 05, 2024 at 06:44:47PM +0900, Akira Yokosawa wrote:
> Hi Paul,
>
> [Cc 0/8 and 8/8 to Leo, Patch 8/8 touches gitlab-ci.yml]
>
> Frequent crashes of Inkscape I encountered in 2023, which was mitigated
> in commit f307e19f2be0 ("Prevent inkscape from interacting with desktop
> manager"), made me look into alternative SVG --> PDF converters.
>
> It turns out that recent versions of rsvg-convert work reasonably well
> for perfbook. By "recent versions", I mean 2.52.5 and 2.57.x.
> rsvg-convert is a light-weight CLI command and is much faster than inkscape.
>
> Sequential SVG --> PDF conversion time I get from
> "make cleanfigs-svg; env time make figs":
>
> elapsed
> Inkscape: 21.45s
> rsvg-convert: 6.05s
>
> So patches 1/8--4/8 add rules in Makefile for using rsvg-convert if it
> is recent enough.
>
> One caveat: There is a SVG cartoon drawn by an ancient version of Inkscape,
> for which very recent versions of rsvg-convert produce distorted background
> of outlined text.
>
> Patch 5/8 retouches the cartoon and put a SVG compatible with librsvg as
> cartoons/r-2023-Memory-barriers.svg.
>
> Patches 6/8 and 7/8 adjust FAQ-BUILD and Dockerfiles accordingly.
>
> Patch 8/8 updates gitlab-ci.yml. It needs an explicit ACK or Tested-by:
> from Leo before applying.
>
> Finally, this series wouldn't affect those of you who don't have
> rsvg-convert.
It does seem to deal well with rsvg-convert v2.52.5, so queued.
Especially given that I was having difficulty with inkscape's conversions
to PDF for another document. I overcame these (I kid you not!) by
hand-editing one of perfbook's .svg files.
So thank you very much!
Again, queued, and I will be pushing this out shortly.
Thanx, Paul
> Thanks, Akira
> --
> Akira Yokosawa (8):
> Makefile: Add rules to use rsvg-convert for SVG --> PDF conversion
> Makefile: Don't use rsvg-convert < 2.57
> Makefile: Allow rsvg-convert 2.52
> Makefile: Use rsvg-convert anyway if no inkscape is found
> cartoons: Retouch r-2014-Memory-barrier.svg
> FAQ-BUILD: List package for rsvg-convert in package lists
> docker: Add packages for rsvg-convert
> gitlab-ci.yml: Install librsvg instead of inkscape
>
> FAQ-BUILD.txt | 23 +-
> Makefile | 48 +-
> cartoons/r-2023-Memory-barrier.svg | 1130 ++++++++++++++++++++++++++++
> cpu/overview.tex | 2 +-
> docker/Dockerfile | 4 +-
> docker/Dockerfile.fedora | 7 +-
> utilities/gitlab-ci.yml | 2 +-
> 7 files changed, 1198 insertions(+), 18 deletions(-)
> create mode 100644 cartoons/r-2023-Memory-barrier.svg
>
>
> base-commit: 1ea46c6d43475fbdf97404dec28a58036d505bc3
> --
> 2.34.1
>
>