summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomas Volf <~@wolfsden.cz>2023-12-02 01:28:58 +0100
committerLudovic Courtès <ludo@gnu.org>2023-12-06 23:50:05 +0100
commitcc681b5657ff7c76ff2a6a43059c4a488110f0f2 (patch)
treef331bac52ce36cc27b3b8fbcf2d8f860588c323e
parentcb1ce113b9c884e1671b6f08f57783a4ce497806 (diff)
gnu: libtorrent-rasterbar: Update to 2.0.9.
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 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r--gnu/packages/bittorrent.scm50
-rw-r--r--gnu/packages/enlightenment.scm2
2 files changed, 44 insertions, 8 deletions
diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm
index f9098b1a56..731c8e1c20 100644
--- a/gnu/packages/bittorrent.scm
+++ b/gnu/packages/bittorrent.scm
@@ -80,6 +80,7 @@
#: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 @@ and will take advantage of multiple processor cores where possible.")
(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 @@ and will take advantage of multiple processor cores where possible.")
"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,14 @@ and will take advantage of multiple processor cores where possible.")
#: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 native-inputs inputs #:allow-other-keys)
+ (copy-file (assoc-ref (or native-inputs 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 +495,10 @@ and will take advantage of multiple processor cores where possible.")
"--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 +507,20 @@ focusing on efficiency and scalability. It runs on embedded devices as well as
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 +542,7 @@ desktops.")
(list qttools-5))
(inputs
(list boost
- libtorrent-rasterbar
+ libtorrent-rasterbar-1.2
openssl
python-wrapper
qtsvg-5
diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm
index 64d8945f8e..7860c43fef 100644
--- a/gnu/packages/enlightenment.scm
+++ b/gnu/packages/enlightenment.scm
@@ -585,7 +585,7 @@ directories.
(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