Message ID | 20211214172151.28831-1-dev@jpoiret.xyz |
---|---|
State | Accepted |
Headers | show |
Series | [bug#52486] gnu: deluge: Move librsvg to native inputs. | expand |
On Tue, Dec 14, 2021 at 06:21:51PM +0100, Josselin Poiret via Guix-patches via wrote: > Grepping the source code shows that librsvg is run by the > builder, and not by deluge itself. This fixes propagation conflicting > with gtk+'s librsvg. For now, use the C variant to build on all archs. > -- >8 -- I applied your patch and built Deluge. Then, I checked what packages it keeps a reference to: ------ $ guix gc --references $(./pre-inst-env guix build deluge) | grep librsvg /gnu/store/2dza2psfbrrbvsni8jjqzzqx3hmm8kw8-librsvg-2.50.7 /gnu/store/zxpbc78z40x7dr3ls4dgclkq7i4agx7a-librsvg-2.40.21 ------ So, Guix already records a run-time dependency on the Rust variant of librsvg (likely via GTK+), as well as the C variant if we apply your patch. I agree that, if Deluge does not use librsvg at run-time, we should make it a non-propagated-input. But, we should use the Rust variant on platforms where it is supported. Check the package definition of GTK+ for an example. And we should also make it a 'regular' input, because the package does keep a run-time reference to it. We are phasing out the C variant because it is abandoned upstream and no longer receiving security updates.
Hello again, This time, a modified patch that selects the proper librsvg as is done in the gtk definition, but adapted for native-inputs, as well as another that removes the reference to the librsvg needed at build time. `guix size /gnu/store/azyp0avyr91jzwwdb3q82al44r3a8g1h-deluge-2.0.3` reports only one librsvg, that of GTK. I've tested this by adding a torrent, checking that it does in fact download. The UI looks ok, so I guess it should work. Best, Josselin Josselin Poiret (2): gnu: deluge: Move librsvg to native inputs gnu: deluge: Remove reference of build-time librsvg gnu/packages/bittorrent.scm | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-)
Hello Josselin Josselin Poiret <dev@jpoiret.xyz> writes: > Josselin Poiret (2): > gnu: deluge: Move librsvg to native inputs > gnu: deluge: Remove reference of build-time librsvg Thanks for the patch, it fixes the issue with librsvg as expected. Pushed as 1471219a8aabd2d8ad1f6bf1216c734ce73ae175, I've added your copyright to it. Cheers, - Brice
Hello Josselin Josselin Poiret <dev@jpoiret.xyz> writes: > Josselin Poiret (2): > gnu: deluge: Move librsvg to native inputs > gnu: deluge: Remove reference of build-time librsvg Thanks for the patch, it fixes the issue with librsvg as expected. Pushed as 1471219a8aabd2d8ad1f6bf1216c734ce73ae175, I've added your copyright to it. Cheers, - Brice
diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm index 0dcb1ee991..5513878fc0 100644 --- a/gnu/packages/bittorrent.scm +++ b/gnu/packages/bittorrent.scm @@ -528,7 +528,6 @@ (define-public deluge (build-system python-build-system) (propagated-inputs `(("gtk+" ,gtk+) - ("librsvg" ,librsvg) ("libtorrent" ,libtorrent-rasterbar) ("python-pycairo" ,python-pycairo) ("python-chardet" ,python-chardet) @@ -545,7 +544,7 @@ (define-public deluge ("python-twisted" ,python-twisted) ("python-zope-interface" ,python-zope-interface))) (native-inputs - (list intltool python-wheel)) + (list intltool python-wheel librsvg-2.40)) ;; TODO: Enable tests. ;; After "pytest-twisted" is packaged, HOME is set, and an X server is ;; started, some of the tests still fail. There are likely some tests