Merge branch 'staging' into core-updates
[jackhill/guix/guix.git] / gnu / packages / tor.scm
index 5278bbb..19d4d67 100644 (file)
@@ -2,9 +2,9 @@
 ;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
+;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
 ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
-;;; Copyright © 2017, 2018 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2017, 2018, 2019 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
 ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
 ;;;
@@ -39,6 +39,7 @@
   #:use-module (gnu packages pcre)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages python-crypto)
   #:use-module (gnu packages python-web)
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages qt)
 (define-public tor
   (package
     (name "tor")
-    (version "0.3.4.10")
+    (version "0.4.2.5")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://dist.torproject.org/tor-"
                                  version ".tar.gz"))
              (sha256
               (base32
-               "12i51i6swkdpnbcpa6f1csc00q177sbjnw2x31j53glxshmwpv5d"))))
+               "1hnqg6psf7shcmlvfk44mkpaz7v66mify3cnx7mzl23q5s37anad"))))
     (build-system gnu-build-system)
-    (arguments
-     `(#:configure-flags (list "--enable-gcc-hardening"
-                               "--enable-linker-hardening")))
     (native-inputs
      `(("pkg-config" ,pkg-config)
        ("python" ,python-2)))           ; for tests
@@ -70,7 +68,7 @@
        ("libevent" ,libevent)
        ("libseccomp" ,libseccomp)
        ("xz" ,xz)
-       ("zstd" ,zstd)))
+       ("zstd" ,zstd "lib")))
     (home-page "https://www.torproject.org/")
     (synopsis "Anonymous network router to improve privacy on the Internet")
     (description
@@ -91,27 +89,24 @@ the application layer) you need to install @code{torsocks}.")
 (define-public torsocks
   (package
     (name "torsocks")
-    (version "2.2.0")
+    (version "2.3.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://people.torproject.org/~dgoulet/"
-                                  name "/" name "-" version ".tar.xz"))
+                                  "torsocks/torsocks-" version ".tar.xz"))
               (sha256
                (base32
-                "0byr9ga9w79qz4vp0m11sbmspad7fsal9wm67r4znzb7zb7cis19"))))
+                "08inrkap29gikb6sdmb58z43hw4abwrfw7ny40c4xzdkss0vkwdr"))))
     (build-system gnu-build-system)
     (inputs
-     `(("which" ,which)
-       ("libcap" ,libcap)))
+     `(("libcap" ,libcap)))
     (arguments
      `(#:phases (modify-phases %standard-phases
                   (add-after 'build 'absolutize
                     (lambda* (#:key inputs #:allow-other-keys)
                       (substitute* "src/bin/torsocks"
-                        (("getcap=`.*`")
-                         (string-append "getcap=" (which "getcap")))
-                        (("`which")
-                         (string-append "`" (which "which"))))
+                        (("getcap=.*")
+                         (string-append "getcap=" (which "getcap") "\n")))
                       #t)))))
     (home-page "https://www.torproject.org/")
     (synopsis "Use socks-friendly applications with Tor")
@@ -163,7 +158,7 @@ networks.")
 (define-public onionshare
   (package
     (name "onionshare")
-    (version "1.3.1")
+    (version "2.2")
     (source
       (origin
         (method git-fetch)
@@ -172,8 +167,7 @@ networks.")
               (commit (string-append "v" version))))
         (file-name (git-file-name name version))
         (sha256
-         (base32
-          "02zic4cxwrcfdg22dq9c2rzni3l18wynjxd38scc59s37vlw7w2r"))))
+         (base32 "0m8ygxcyp3nfzzhxs2dfnpqwh1vx0aws44lszpnnczz4fks3a5j4"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
@@ -185,53 +179,52 @@ networks.")
                (substitute* '("setup.py" "onionshare/common.py")
                  (("sys.prefix,") (string-append "'" out "',")))
                (substitute* "setup.py"
-                 ;; for the nautilus plugin
+                 ;; For the nautilus plugin.
                  (("/usr/share/nautilus") "share/nautilus"))
-               (substitute* "install/onionshare.desktop"
+               (substitute* "install/org.onionshare.OnionShare.desktop"
                  (("/usr") out))
                #t)))
          (delete 'check)
-         (add-before 'strip 'tests
+         (add-before 'strip 'check
            ;; After all the patching we run the tests after installing.
-           ;; This is also a known issue:
-           ;; https://github.com/micahflee/onionshare/issues/284
            (lambda _
-             (invoke "pytest" "test")
+             (setenv "HOME" "/tmp")     ; Some tests need a writable homedir
+             (invoke "pytest" "tests/")
              #t)))))
     (native-inputs
      `(("python-pytest" ,python-pytest)))
     (inputs
-     `(("python-flask" ,python-flask)
+     `(("python-pycrypto" ,python-pycrypto)
+       ("python-flask" ,python-flask)
+       ("python-flask-httpauth" ,python-flask-httpauth)
        ("python-nautilus" ,python-nautilus)
        ("python-sip" ,python-sip)
        ("python-stem" ,python-stem)
+       ("python-pysocks" ,python-pysocks)
        ("python-pyqt" ,python-pyqt)))
     (home-page "https://onionshare.org/")
     (synopsis "Securely and anonymously share files")
-    (description "OnionShare lets you securely and anonymously share files of
-any size.  It works by starting a web server, making it accessible as a Tor
-hidden service, and generating an unguessable URL to access and download the
-files.  It doesn't require setting up a server on the internet somewhere or
-using a third party filesharing service.  You host the file on your own computer
-and use a Tor hidden service to make it temporarily accessible over the
-internet.  The other user just needs to use Tor Browser to download the file
-from you.")
-    (license (list license:gpl3+
-                   license:bsd-3))))    ; onionshare/socks.py
+    (description "OnionShare is a tool for securely and anonymously sending
+and receiving files using Tor onion services.  It works by starting a web
+server directly on your computer and making it accessible as an unguessable
+Tor web address that others can load in a Tor-enabled web browser to download
+files from you, or upload files to you.  It doesn't require setting up a
+separate server, using a third party file-sharing service, or even logging
+into an account.")
+    ;; Bundled, minified jquery is expat licensed.
+    (license (list license:gpl3+ license:expat))))
 
 (define-public nyx
   (package
     (name "nyx")
-    (version "2.0.4")
+    (version "2.1.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri name version))
-       (patches
-        (search-patches "nyx-show-header-stats-with-python3.patch"))
        (sha256
         (base32
-         "0pm7vfcqr02pzqz4b2f6sw5prxxmgqwr1912am42xmy2i53n7nrq"))))
+         "02rrlllz2ci6i6cs3iddyfns7ang9a54jrlygd2jw1f9s6418ll8"))))
     (build-system python-build-system)
     (inputs
      `(("python-stem" ,python-stem)))