all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Jacob Hrbek <kreyren@rixotstudio.cz>
To: 53300@debbugs.gnu.org
Subject: bug#53300: Guix's is unable to correctly package qbittorrent-4.2.5
Date: Sun, 16 Jan 2022 09:51:03 +0000	[thread overview]
Message-ID: <01f6ed9d-1559-a544-34d8-91428695f004@rixotstudio.cz> (raw)
In-Reply-To: <BE253309-9195-4C9D-8454-D147163CF3DA@lepiller.eu>


[-- Attachment #1.1.1: Type: text/plain, Size: 5391 bytes --]

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 #1.1.2: Type: text/html, Size: 8103 bytes --]

[-- Attachment #1.2: publickey - kreyren@rixotstudio.cz - 1677db82.asc --]
[-- Type: application/pgp-keys, Size: 713 bytes --]

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 249 bytes --]

  reply	other threads:[~2022-01-16  9:52 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-16  7:03 Howddya specify max supported dependency version for a package? Jacob Hrbek
2022-01-16  8:46 ` Julien Lepiller
2022-01-16  9:51   ` Jacob Hrbek [this message]
     [not found]     ` <handler.53300.B.164232668214275.ack@debbugs.gnu.org>
2022-01-16 11:26       ` bug#53300: Acknowledgement (Guix's is unable to correctly package qbittorrent-4.2.5) Jacob Hrbek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=01f6ed9d-1559-a544-34d8-91428695f004@rixotstudio.cz \
    --to=kreyren@rixotstudio.cz \
    --cc=53300@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.