* Howddya specify max supported dependency version for a package?
@ 2022-01-16 7:03 Jacob Hrbek
2022-01-16 8:46 ` Julien Lepiller
0 siblings, 1 reply; 2+ messages in thread
From: Jacob Hrbek @ 2022-01-16 7:03 UTC (permalink / raw)
To: help-guix
[-- Attachment #1.1: Type: text/plain, Size: 2891 bytes --]
(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.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 --]
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Howddya specify max supported dependency version for a package?
2022-01-16 7:03 Howddya specify max supported dependency version for a package? Jacob Hrbek
@ 2022-01-16 8:46 ` Julien Lepiller
0 siblings, 0 replies; 2+ messages in thread
From: Julien Lepiller @ 2022-01-16 8:46 UTC (permalink / raw)
To: Jacob Hrbek, help-guix
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
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2022-01-16 8:47 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-16 7:03 Howddya specify max supported dependency version for a package? Jacob Hrbek
2022-01-16 8:46 ` Julien Lepiller
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).