bug-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#53300: Guix's is unable to correctly package qbittorrent-4.2.5


From: Jacob Hrbek
Subject: bug#53300: Guix's is unable to correctly package qbittorrent-4.2.5
Date: Sun, 16 Jan 2022 09:51:03 +0000

See https://github.com/qbittorrent/qBittorrent/issues/16139 and forwarded message.

qbittorrent-4.2.5 declares python dependency on <=3.5.0 (https://github.com/qbittorrent/qBittorrent/blob/5c0378a6845e3484023f4c76893ff9f0e5178460/src/base/utils/foreignapps.cpp#L269) which causes the program to fail with "Python is required to use the search engine but it does not seem to be installed" (https://github.com/qbittorrent/qBittorrent/blob/00f6bb7c8225285a7929426187a1513d247b582b/src/gui/mainwindow.cpp#L1834) where Guix is only capable of providing python-3.9.6.

From Lepiller's response i understood that our development process is to patch the package to accept new python which i argue is unhealthy and hostile towards the upstream as we are putting an unwanted pressure on their Quality Assurance which may force them to rush the process

As such proposing to package all python versions and enable to use a version range per dependency.

Also python is notorious for it's dependency on various versions so this would make all python packages (and packages with similar programming language limitations) on guix more robust.

-------- Forwarded Message --------
Subject: Re: Howddya specify max supported dependency version for a package?
Date: Sun, 16 Jan 2022 09:46:53 +0100
From: Julien Lepiller <julien@lepiller.eu>
Reply-To: Julien Lepiller <julien@lepiller.eu>
To: Jacob Hrbek <kreyren@rixotstudio.cz>, help-guix@gnu.org


Simple unhelpful answer, you can't. Guix doesn't work like that. We don't specify package range or give a package any way to choose itt dependencies. When you specify a dependency, it's always a reference to a very specific packaqe (though the reference might evolve with newer guix revisions). It simplifies package management since there's no constraint solving or anything of the sort.

For your problem I see two potential solutions: fix the package to allow our current python version, though there might be a reason why it's not allowed, or package python 3.5 and use it instead of the current python version.

HTH

Le 16 janvier 2022 08:03:53 GMT+01:00, Jacob Hrbek <kreyren@rixotstudio.cz> a écrit :
(define-public qbittorrent
   (package
     (name "qbittorrent")
     (version "4.2.5")
     (source
      (origin
        (method git-fetch)
        (uri (git-reference
              (url "https://github.com/qbittorrent/qBittorrent")
              (commit (string-append "release-" version))))
        (file-name (git-file-name name version))
        (sha256
         (base32 "1n613ylg6i9gisgk0dbr2kpfasyizrkdjff1r8smd4vri2qrdksn"))))
     (build-system gnu-build-system)
     (arguments
      `(#:configure-flags
        (list (string-append "--with-boost-libdir="
                             (assoc-ref %build-inputs "boost")
                             "/lib")
              "--enable-debug"
              "QMAKE_LRELEASE=lrelease")
        #:modules ((guix build gnu-build-system)
                   (guix build qt-utils)
                   (guix build utils))
        #:imported-modules (,@%gnu-build-system-modules
                            (guix build qt-utils))
        #:phases
        (modify-phases %standard-phases
          (add-after 'install 'wrap-qt
            (lambda* (#:key outputs inputs #:allow-other-keys)
              (let ((out (assoc-ref outputs "out")))
                (wrap-qt-program "qbittorrent" #:output out #:inputs 
inputs))
              #t)))))
     (native-inputs
      (list pkg-config qttools))
     (inputs
      `(("boost" ,boost)
        ("libtorrent-rasterbar" ,libtorrent-rasterbar)
        ("openssl" ,openssl)
     ;; NOTE(Krey): Max supported version declared in 
https://github.com/qbittorrent/qBittorrent/blob/5c0378a6845e3484023f4c76893ff9f0e5178460/src/base/utils/foreignapps.cpp#L269
        ("python" ,python-wrapper)
        ("qtbase" ,qtbase-5)
        ("qtsvg" ,qtsvg)
        ("zlib" ,zlib)))
     (home-page "https://www.qbittorrent.org/")
     (synopsis "Graphical BitTorrent client")
     (description
      "qBittorrent is a BitTorrent client programmed in C++/Qt that uses
libtorrent (sometimes called libtorrent-rasterbar) by Arvid Norberg.

It aims to be a good alternative to all other BitTorrent clients out there.
qBittorrent is fast, stable and provides unicode support as well as many
features.")
     (license l:gpl2+)))


I am trying to make a patch to fix 
https://github.com/qbittorrent/qBittorrent/issues/16139 which is caused 
by us using an unsupported python version -> How can i specify that the 
package is only allowed to use python 3.2 <= 3.5.0 ?

-- Jacob Hrbek

Attachment: publickey - kreyren@rixotstudio.cz - 1677db82.asc
Description: application/pgp-keys

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]