Opened 6 years ago

Closed 6 years ago

Last modified 16 months ago

#56959 closed enhancement (wontfix)

librsvg: building requires rust compiler

Reported by: 07151129 Owned by: dbevans (David B. Evans)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: pixilla (Bradley Giesbrecht), Dave-Allured (Dave Allured)
Port: librsvg

Description

Newer versions of librsvg (≥ 2.40.0) require rust compiler and cargo for building. This is a rather large dependency including llvm which is not always desirable to have installed, especially if it is not needed otherwise. Many ports depend on librsvg and thus suddenly depend on rust/cargo/llvm for building, even if there is no rust code in their codebase.

Because the newer versions of librsvg are ABI-compatible with the old version that only required a working C compiler, it would be nice if the old version was provided as a variant.

Change History (7)

comment:1 Changed 6 years ago by jmroot (Joshua Root)

Cc: pixilla added; pixilla@… removed
Owner: changed from devans@… to dbevans

comment:2 Changed 6 years ago by Dave-Allured (Dave Allured)

Cc: Dave-Allured added

comment:3 Changed 6 years ago by mf2k (Frank Schima)

Type: defectenhancement

We generally don't allow variants to change the installed version. What is normally done is to create a sub-port with the older version.

comment:4 Changed 6 years ago by dbevans (David B. Evans)

As you say current versions of librsvg contain increasing amounts of rust code and there's not much chance the upstream developers are going to give it up. There are significant enhancements in the last few versions and so if we want to keep librsvg up-to-date with other GNOME ports then we need to learn to love rust and cargo. There appears momentum for other GNOME ports to use rust the future so ignoring rust is probably not a good strategy.

Note that rust is currently not building on 10.10 and earlier so I librsvg already falls back to 2.40.20 on those platforms. However, I'm not really in favor of doing that where rust does build.

I'm going to close this as won't fix but there nothing to stop you checking out a copy of the old 2.40.20 version from git and building it yourself if you really can't stomach rust and its dependencies.

Last edited 6 years ago by dbevans (David B. Evans) (previous) (diff)

comment:5 Changed 6 years ago by dbevans (David B. Evans)

Resolution: wontfix
Status: assignedclosed

comment:6 Changed 6 years ago by 07151129

Surely we can "love rust and cargo" without arbitrarily forcing users to install it? Many programs that have absolutely nothing to do with GNOME (such as ffmpeg) now have this heavyweight dependency, even if otherwise they don't need rust at all. Building and installing the old version myself defeats the purpose of using the remote ports tree. After all, for some ports there are variants for older versions (e.g. ld64); I don't see why having an older version fallback would force you to ignore rust.

comment:7 Changed 16 months ago by barracuda156

Yeah, this is an insane demand to build a simple graphic library. Very poorly-thought-through decision of librsvg upstream.

Note: See TracTickets for help on using tickets.