diff options
Diffstat (limited to 'gnu/packages/bittorrent.scm')
-rw-r--r-- | gnu/packages/bittorrent.scm | 89 |
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/") |