Hi, A couple of thoughs inline below...
On Thu, 05 Jan 2017 20:58:48 -0600, Michael Catanzaro <mcatanz...@gnome.org> wrote: > On Thu, 2017-01-05 at 19:25 -0600, Federico Mena Quintero wrote: > > That *will* download, compile, and link stuff like gtk-rs statically > > into librsvg.so. I don't think this is a problem in the long term: > > with things like Flatpak we are already moving away from distros > > trying > > to mandate which dependencies one uses, and moving towards developers > > making that choice on their own. > > Hi, > > It's a total blocker for inclusion in Fedora, where builds have no > network access, and where we are very strongly discouraged from linking > to libraries like gtk-rs. I imagine openSUSE is going to have the same > network access problem, right? Have you tried building it on OBS? Regarding not having network access when building: There is "cargo fetch" if it's okay to download things in a separate step. One could potentially take a snapshot of the dependencies needed to build librsvg, make a tarball with them, and unpack them in the proper location. Then "cargo build" doesn't need to fetch things itself. For more on this, there's interesting comments here: https://github.com/rust-lang/cargo/issues/1330 Could you elaborate on what's the issue with gtk-rs? The way things work, the code from it will be statically linked into librsvg, and if librsvg uses actual {GTK+,GLib,cairo} functions, then librsvg links *dynamically* to lib{gtk+,glib,cairo} (the ones made in C) as it would do anyway before when Rust wasn't used. Only the glue bits from gtk-rs which allow to use the libraries from Rust are linked into librsvg. Honestly, I fail to see how this is a problem. > We all want the new Rustified librsvg to make its way into > distributions as soon as possible. I doubt it's going to happen anytime > soon so long as the build involves cargo, so I really hope we can find > some solution to this. Rust is critical to hardening future GNOME > software against attackers, and it's awesome that Federico has been > pushing this forward with librsvg. Now we surely don't want some silly > build system issue blocking that from going out to users. I think most of the negative reactions against cargo come from the fact that people don't think about it as “it is a build tool, like Make”, but instead as “it is a package manager, WARNING, WARNING, rpm/apt/whatever is in danger”. (It certainly can do more things, but “build tool” is exactly how it's used for librsvg.) > I also don't agree that Flatpak makes static linking acceptable for > librsvg, because librsvg is a very important platform library and part > of our GNOME runtime. We're probably going to want to have gtk-rs in > the runtime sooner or later to promote Rust development, right? Surely > we're not going to want two different copies of it there. Wrong. The way things are, gtk-rs is only needed at build time. Hope the clarifications/ideas above can help. Cheers, — 🚋 Adrián
pgpgX1khJAwVn.pgp
Description: PGP signature
_______________________________________________ desktop-devel-list mailing list desktop-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/desktop-devel-list