[bug#67557,v2,5/5] gnu: libtorrent-rasterbar: Update to 2.0.9.
Commit Message
Update the package. Since other packages do depend on the previous
version (and according to their documentation do recommend it), the previous
version is exposed as libtorrent-rasterbar-1.2.
The v2.0.9 requires patching to get tests working. Sadly one of the changes
is to introduce new binary file, so it is fetched as an input and applied in a
phase. Snippet is used instead to do the rest of the patching.
* gnu/packages/bittorrent.scm (libtorrent-rasterbar)[version]: Update to
2.0.9.
[source]<snippet>: Patch test/test_copy_file.cpp.
[native-inputs]: Add the missing file (v2_empty_file.torrent).
[arguments]<#:phases>: And add a phase copying it into the correct place.
* gnu/packages/bittorrent.scm (libtorrent-rasterbar-1.2): New variable.
(qbittorrent)[inputs]: Use libtorrent-rasterbar-1.2.
* gnu/packages/enlightenment.scm (epour)[inputs]: Use
libtorrent-rasterbar-1.2.
Change-Id: Ifbbbf02a671f6a3db653499a7a5f2504fd23c255
---
v2:
Drop the patch file and instead do the necessary changes using a substitute* and
a phase copying the test file into the correct place from native-inputs.
gnu/packages/bittorrent.scm | 49 +++++++++++++++++++++++++++++-----
gnu/packages/enlightenment.scm | 2 +-
2 files changed, 43 insertions(+), 8 deletions(-)
--
2.41.0
@@ -80,6 +80,7 @@ (define-module (gnu packages bittorrent)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages ssh)
#:use-module (gnu packages tls)
+ #:use-module (gnu packages version-control)
#:use-module (gnu packages web)
#:use-module (gnu packages xml))
@@ -416,10 +417,16 @@ (define-public mktorrent
(license (list l:public-domain ; sha1.*, used to build without OpenSSL
l:gpl2+)))) ; with permission to link with OpenSSL
+(define %v2_empty_file.torrent
+ (origin (method url-fetch)
+ (uri "https://github.com/arvidn/libtorrent/raw/v2.0.9/test/test_torrents/v2_empty_file.torrent")
+ (sha256
+ (base32 "1hydgf0m9193hy9010wl0wrbz4k4cgrqg70jakx68pgi79jcqnrn"))))
+
(define-public libtorrent-rasterbar
(package
(name "libtorrent-rasterbar")
- (version "1.2.19")
+ (version "2.0.9")
(source
(origin
(method url-fetch)
@@ -428,7 +435,14 @@ (define-public libtorrent-rasterbar
"releases/download/v" version "/"
"libtorrent-rasterbar-" version ".tar.gz"))
(sha256
- (base32 "03p4nvsll568zlyqifid0cn135sg5whbk7g48gkbapnw92ayks7f"))))
+ (base32 "13kry578ifzz4m2f291bbd7v5v9zsi8y3mf38146cnqw0sv95kch"))
+ ;; https://github.com/arvidn/libtorrent/issues/7566
+ ;; Remove when resolved. I would hope this to be fixed in 2.0.10.
+ (modules '((guix build utils)))
+ (snippet
+ #~(substitute* "test/test_copy_file.cpp"
+ (("EXT4_SUPER_MAGIC, EXT3_SUPER_MAGIC, XFS_SUPER_MAGIC" all)
+ (string-append all ", TMPFS_MAGIC\n"))))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags '("-Dpython-bindings=ON"
@@ -437,6 +451,13 @@ (define-public libtorrent-rasterbar
#:parallel-tests? #f
#:phases
(modify-phases %standard-phases
+ ;; https://github.com/arvidn/libtorrent/issues/7567
+ ;; Remove when resolved. I would hope this to be fixed in 2.0.10.
+ ;; Do not forget to remove the %v2_empty_file.torrent variable.
+ (add-before 'configure 'copy-v2_empty_file.torrent
+ (lambda* (#:key inputs #:allow-other-keys)
+ (copy-file (assoc-ref inputs "%v2_empty_file.torrent")
+ "test/test_torrents/v2_empty_file.torrent")))
(replace 'check
(lambda* (#:key tests? parallel-tests? #:allow-other-keys)
(let* ((disabled-tests
@@ -473,10 +494,10 @@ (define-public libtorrent-rasterbar
"--timeout" timeout
"--output-on-failure"))))))))
(inputs (list boost openssl))
- (native-inputs
- (list libfaketime
- python-wrapper
- pkg-config))
+ (native-inputs `(("libfaketime" ,libfaketime)
+ ("python-wrapper" ,python-wrapper)
+ ("pkg-config" ,pkg-config)
+ ("%v2_empty_file.torrent" ,%v2_empty_file.torrent)))
(home-page "https://www.libtorrent.org/")
(synopsis "Feature-complete BitTorrent implementation")
(description
@@ -485,6 +506,20 @@ (define-public libtorrent-rasterbar
desktops.")
(license l:bsd-2)))
+(define-public libtorrent-rasterbar-1.2
+ (package
+ (inherit libtorrent-rasterbar)
+ (version "1.2.19")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://github.com/arvidn/libtorrent/"
+ "releases/download/v" version "/"
+ "libtorrent-rasterbar-" version ".tar.gz"))
+ (sha256
+ (base32 "03p4nvsll568zlyqifid0cn135sg5whbk7g48gkbapnw92ayks7f"))))))
+
(define-public qbittorrent
(package
(name "qbittorrent")
@@ -506,7 +541,7 @@ (define-public qbittorrent
(list qttools-5))
(inputs
(list boost
- libtorrent-rasterbar
+ libtorrent-rasterbar-1.2
openssl
python-wrapper
qtsvg-5
@@ -585,7 +585,7 @@ (define-public epour
(native-inputs
(list intltool python-distutils-extra))
(inputs
- (list libtorrent-rasterbar python-dbus python-efl python-pyxdg))
+ (list libtorrent-rasterbar-1.2 python-dbus python-efl python-pyxdg))
(home-page "https://www.enlightenment.org")
(synopsis "EFL Bittorrent client")
(description "Epour is a BitTorrent client based on the @dfn{Enlightenment