lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: RFC: require librsvg to implement SVG image support


From: Jonas Hahnfeld
Subject: Re: RFC: require librsvg to implement SVG image support
Date: Mon, 09 Jan 2023 19:44:56 +0100
User-agent: Evolution 3.46.2

On Sun, 2023-01-08 at 23:18 +0100, Jean Abou Samra wrote:
> In order to keep support for vector graphics, even if not
> with EPS, we can add support for embedding SVG images.

Are we sure that this is actually what the users need? If everybody
just cares about including PDF (for logos), I'm not sure if we need to
implement support for SVG.

Another question would be about support in the default PS backend: Is
this feasible for SVGs? Would we again export the rendering from Cairo
and then paste into the output PS?

> This requires the ability to render an SVG to a Cairo
> surface. Cairo doesn't do this itself. It is the job of
> the librsvg library, which is part of the GNOME stack
> (like GLib and Pango which we already require).
> 
> There is also PDF, which could be made to work via Poppler.
> However, it is built with CMake, for which the release
> infrastructure does not have support so far. Jonas said
> cross-compilation was difficult with CMake, and I believe
> him.

Cross-compilation is always difficult, and what I was trying to say is
that the scripts in release/binaries/ currently don't support CMake.
Cross-compilation with CMake is sometimes a pain because IIRC it
doesn't really support the notion if different targets for host and
build, so something like a tools build for execution during the build
is not really possible. I don't know about Poppler, maybe it doesn't
have any such problems.

> Therefore, the proposal here is to add librsvg as a dependency
> to LilyPond. The transitive dependencies it pulls in are
> libxml2, GdkPixbuf, and libjpeg (the latter for GdkPixbuf).
> 
> Build systems are
> 
> - librsvg: Cargo (Rust package manager; cross-compilation
>    was relatively seamless) + Autotools (for the C API)

Rust is actually a pretty big dependency here. How are we going to
install this for the build? Especially on CentOS 7, I would be
surprised if it can be installed from the distro repository. Would we
have to go for the "official" binaries? That's a "meeh" from my side...

Jonas

Attachment: signature.asc
Description: This is a digitally signed message part


reply via email to

[Prev in Thread] Current Thread [Next in Thread]