aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/bittorrent.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/bittorrent.scm')
-rw-r--r--gnu/packages/bittorrent.scm89
1 files changed, 49 insertions, 40 deletions
diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm
index 560b6155fa..0e4b74db8a 100644
--- a/gnu/packages/bittorrent.scm
+++ b/gnu/packages/bittorrent.scm
@@ -81,7 +81,7 @@
(define-public transmission
(package
(name "transmission")
- (version "3.00")
+ (version "4.0.3")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/transmission/transmission"
@@ -89,51 +89,60 @@
version ".tar.xz"))
(sha256
(base32
- "1wjmn96zrvmk8j1yz2ysmqd7a2x6ilvnwwapcvfzgxs2wwpnai4i"))
- (patches (search-patches "transmission-honor-localedir.patch"))))
- (build-system glib-or-gtk-build-system)
+ "0njlmpcdsxwx8vwdk9dvsby51l6f6awks9d0mgvi9fs2ivaizc5n"))))
+ (build-system cmake-build-system)
(outputs '("out" ; library and command-line interface
"gui")) ; graphical user interface
(arguments
- '(#:configure-flags
- (list (string-append "--localedir="
- (assoc-ref %outputs "gui")
- "/share/locale"))
- ;; Some tests segfault when using libevent 2.12 without internet
- ;; connection. This has been reported mainstream but not fixed yet:
- ;; https://github.com/transmission/transmission/issues/1437.
- #:tests? #f
- #:glib-or-gtk-wrap-excluded-outputs '("out")
- #:phases
- (modify-phases %standard-phases
+ (list
+ #:imported-modules `((guix build glib-or-gtk-build-system)
+ ,@%cmake-build-system-modules)
+ #:modules '(((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
+ (guix build cmake-build-system)
+ (guix build utils))
+ #:phases
+ #~(modify-phases %standard-phases
;; Avoid embedding kernel version for reproducible build
- (add-after 'unpack 'remove-kernel-version
- (lambda _
- (substitute* "third-party/miniupnpc/updateminiupnpcstrings.sh"
- (("OS_VERSION=`uname -r`") "OS_VERSION=Guix"))))
- (add-after 'install 'move-gui
- (lambda* (#:key outputs #:allow-other-keys)
- ;; Move the GUI to its own output, so that "out" doesn't
- ;; depend on GTK+.
- (let ((out (assoc-ref outputs "out"))
- (gui (assoc-ref outputs "gui")))
- (mkdir-p (string-append gui "/bin"))
- (rename-file (string-append out "/bin/transmission-gtk")
- (string-append gui "/bin/transmission-gtk"))
-
+ (add-after 'unpack 'remove-kernel-version
+ (lambda _
+ (substitute* "third-party/miniupnpc/updateminiupnpcstrings.sh"
+ (("OS_VERSION=`uname -r`") "OS_VERSION=Guix"))))
+ (replace 'check
+ (lambda* (#:key tests? parallel-tests? #:allow-other-keys)
+ (if tests?
+ ;; XXX this test fails...
+ (invoke "ctest" "-E" "usesBootstrapFile"
+ "-j" (if parallel-tests?
+ (number->string (parallel-job-count))
+ "1"))
+ (format #t "test suite not run~%"))))
+ (add-after 'install 'move-gui
+ (lambda* (#:key outputs #:allow-other-keys)
+ (mkdir-p (string-append #$output:gui "/bin"))
+ (mkdir-p (string-append #$output:gui "/share/man/man1"))
+ (rename-file (string-append #$output "/bin/transmission-gtk")
+ (string-append #$output:gui "/bin/transmission-gtk"))
(for-each
(lambda (dir)
- (rename-file (string-append out "/share/" dir)
- (string-append gui "/share/" dir)))
- '("appdata" "applications" "icons" "pixmaps"))
-
- (mkdir-p (string-append gui "/share/man/man1"))
- (rename-file
- (string-append out "/share/man/man1/transmission-gtk.1")
- (string-append gui "/share/man/man1/transmission-gtk.1"))
- #t))))))
- (inputs
- (list libevent curl openssl zlib gtk+ libappindicator))
+ (rename-file (string-append #$output "/share/" dir)
+ (string-append #$output:gui "/share/" dir)))
+ '("applications" "icons" "metainfo" "transmission"))
+ (rename-file
+ (string-append #$output "/share/man/man1/transmission-gtk.1")
+ (string-append #$output:gui "/share/man/man1/transmission-gtk.1"))))
+ (add-after 'move-gui 'glib-or-gtk-wrap
+ (lambda* (#:key outputs #:allow-other-keys #:rest args)
+ (apply (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)
+ #:glib-or-gtk-wrap-excluded-outputs (list "out")
+ args))))))
+ (inputs (list curl
+ (list glib "bin")
+ gtkmm
+ libappindicator
+ libevent
+ openssl
+ python
+ zlib))
(native-inputs
(list intltool pkg-config))
(home-page "https://transmissionbt.com/")