Hi Bodertz,

On Sat, Dec 21, 2024, at 5:39 PM, Bodertz wrote:
> The transmission package (the transmission:gui output specifically) has
> transmission-gtk, but I personally prefer transmission-qt.  By including
> qtbase, qttools, and qtsvg, transmission-qt will also be built.
>
> I've made a simple package that inherits from transmission to do this:
>
>     (define-public tranmission-qt
>       (package
>        (inherit transmission)
>        (name "transmission-qt")
>        (inputs (modify-inputs (package-inputs transmission)
>                         (append qtbase qttools qtsvg)))))
>
> This works, except that transmission-qt.desktop is moved to the gui
> output due to the inherited 'move-gui phase.  I could figure out how to
> remove that phase to fix that, of course.
>

Interesting, does this mean the existing "gui" output of transmission installs 
transmission-qt.desktop even though it doesn't include transmission-qt?  If so, 
that seems like a bug to me.

> But I'd prefer if transmission-qt were an option for the transmission
> package directly, either under a new :qt output, or to have both
> transmission-gtk and transmission-qt under the :gui output.  Or just a
> separate package, transmission-qt.
>

I *personally* lean towards separate packages, because I think packages are 
easier to find than outputs; and because it reduces the build footprint, due to 
needing fewer inputs.  Right now, if you build transmission, it needs the gtk 
libraries, even if you don't build the gui output.  So I think the best thing 
here is three packages: transmission (daemon only), transmission-gtk, and 
transmission-qt -- where the latter two are derived from the former.

However, this will break existing users' setups, since AFAIK there's no way to 
replace a specific output of a package with a different package.  So to avoid 
breakage, I think it'd be best to add a gui-qt output to the existing package 
-- assuming you're looking to contribute a patch to Guix for this.  If this is 
for a personal channel or something, you can do whatever makes sense for you.

  -- Ian

Reply via email to