[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: RFC: require librsvg to implement SVG image support
From: |
Jean Abou Samra |
Subject: |
Re: RFC: require librsvg to implement SVG image support |
Date: |
Sun, 15 Jan 2023 13:40:46 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.6.0 |
Le 14/01/2023 à 22:09, Jonas Hahnfeld a écrit :
On Sat, 2023-01-14 at 18:11 +0100, Jean Abou Samra wrote:
I would have to test how difficult it actually is to cross-compile
Poppler, but my own assessment is that keeping MinGW cross-compilation
of a C++ project working is potentially more burdensome on the long-term
than with a Rust one, so to me, both aspects speak in favor of librsvg.
I recognize that, having some (but not a lot of) experience with Rust
may make me biased.
I don't really understand this argument: We are cross-compiling some
tens of C++ projects already, whereas adding Rust is a first here. From
my point of view, this is certainly the bigger "burden" here, as long
as we make CMake behave.
Sorry, that was bad wording from my part: change "C++ project"
to "CMake-based C++ project". To be more precise:
- librsvg's build system is an Autotools wrapper around Cargo,
so we don't have to change the way we are invoking it, the
Librsvg class just inherits from the already existing ConfigurePackage
class. Apart from one setting of RUSTFLAGS to make the
compiler find libintl, like we already have to do for
the C++ compiler with LDFLAGS, and one setting of RUST_TARGET
(I have to investigate if that one is actually needed), it's
similar to what already exists. Behind this, Cargo effortelessly
cross-compiles all Rust dependencies of librsvg [there are
actually quite a few of them, but this is normal in the Rust
world because there is a culture of making very small crates].
- Since Poppler's build system is CMake, we have to write a different
class inheriting from Package alongside ConfigurePackage and
MesonPackage, and figure out how CMake needs to be invoked and
with what environment variables. From my point of view, this is
more complex.
By the way, I checked the version of CMake in CentOS 7. According
to https://pkgs.org/search/?q=cmake, it's 2.8.12, while the minimum
required CMake version for building current versions of Poppler
(I checked the latest release, Poppler 23.01.0, as well as master)
is 3.16.0. Thus, either way, we'll -- unfortunately -- have to accept
that some tools needed to run a build need to be installed outside
of the distribution.
That's not true, we can use the version from el7 (which we use for
something else already, I forgot which package). This offers us CMake
3.17.5 from the "official" repos (for some definition of "official").
Now, that is interesting. I didn't know about EPEL. According to
https://packages.fedoraproject.org/pkgs/rust/rust/
EPEL 7 has Rust 1.66, which is enough for librsvg (Rust 1.63+).
So that should work, right?
OpenPGP_signature
Description: OpenPGP digital signature
- Re: RFC: require librsvg to implement SVG image support, (continued)
- Re: RFC: require librsvg to implement SVG image support, Han-Wen Nienhuys, 2023/01/10
- Re: RFC: require librsvg to implement SVG image support, Jean Abou Samra, 2023/01/10
- Re: RFC: require librsvg to implement SVG image support, Jean Abou Samra, 2023/01/10
- Re: RFC: require librsvg to implement SVG image support, Jean Abou Samra, 2023/01/11
- Re: RFC: require librsvg to implement SVG image support, Han-Wen Nienhuys, 2023/01/11
- Re: RFC: require librsvg to implement SVG image support, Jean Abou Samra, 2023/01/11
- Re: RFC: require librsvg to implement SVG image support, Jonas Hahnfeld, 2023/01/14
- Re: RFC: require librsvg to implement SVG image support, Jean Abou Samra, 2023/01/14
- Re: RFC: require librsvg to implement SVG image support, Jonas Hahnfeld, 2023/01/14
- Re: RFC: require librsvg to implement SVG image support,
Jean Abou Samra <=
- Re: RFC: require librsvg to implement SVG image support, Jonas Hahnfeld, 2023/01/15
- Re: RFC: require librsvg to implement SVG image support, Aaron Hill, 2023/01/15
- Re: RFC: require librsvg to implement SVG image support, Jonas Hahnfeld, 2023/01/15
- Re: RFC: require librsvg to implement SVG image support, Luca Fascione, 2023/01/15
- Re: RFC: require librsvg to implement SVG image support, Aaron Hill, 2023/01/15
- Re: RFC: require librsvg to implement SVG image support, Kevin Barry, 2023/01/15
- Re: RFC: require librsvg to implement SVG image support, Jean Abou Samra, 2023/01/15
- Re: RFC: require librsvg to implement SVG image support, Jonas Hahnfeld, 2023/01/15
- Re: RFC: require librsvg to implement SVG image support, Lukas-Fabian Moser, 2023/01/15
- Re: RFC: require librsvg to implement SVG image support, Jean Abou Samra, 2023/01/20