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.
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 |
(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