summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu-system.am1
-rw-r--r--gnu/packages/patches/torsocks-dns-test.patch18
-rw-r--r--gnu/packages/tor.scm37
3 files changed, 46 insertions, 10 deletions
diff --git a/gnu-system.am b/gnu-system.am
index cf99a9a008..c5b32b290e 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -661,6 +661,7 @@ dist_patch_DATA =						\
   gnu/packages/patches/texi2html-document-encoding.patch	\
   gnu/packages/patches/texi2html-i18n.patch			\
   gnu/packages/patches/tidy-CVE-2015-5522+5523.patch		\
+  gnu/packages/patches/torsocks-dns-test.patch			\
   gnu/packages/patches/tvtime-gcc41.patch			\
   gnu/packages/patches/tvtime-pngoutput.patch			\
   gnu/packages/patches/tvtime-videodev2.patch			\
diff --git a/gnu/packages/patches/torsocks-dns-test.patch b/gnu/packages/patches/torsocks-dns-test.patch
new file mode 100644
index 0000000000..ba70ba5933
--- /dev/null
+++ b/gnu/packages/patches/torsocks-dns-test.patch
@@ -0,0 +1,18 @@
+Skip DNS tests that rely on the ability to look up arbitary
+host names.
+
+--- torsocks/tests/test_dns.c	2015-11-10 18:30:53.955941984 +0100
++++ torsocks/tests/test_dns.c	2015-11-10 18:31:02.199941892 +0100
+@@ -134,11 +134,8 @@ static void test_getaddrinfo(const struc
+ int main(int argc, char **argv)
+ {
+ 	/* Libtap call for the number of tests planned. */
+-	plan_tests(NUM_TESTS);
++	plan_tests(1);
+ 
+-	test_getaddrinfo(&tor_check);
+-    test_gethostbyname(&tor_dir_auth1);
+-	test_gethostbyaddr(&tor_dir_auth2);
+ 	test_getaddrinfo(&tor_localhost);
+ 
+     return 0;
diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm
index 3cf45a400e..3b057d422e 100644
--- a/gnu/packages/tor.scm
+++ b/gnu/packages/tor.scm
@@ -18,13 +18,16 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages tor)
-  #:use-module ((guix licenses) #:select (bsd-3 gpl2+))
+  #:use-module ((guix licenses) #:select (bsd-3 gpl2+ gpl2))
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module (guix build-system gnu)
+  #:use-module (gnu packages)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages pcre)
+  #:use-module (gnu packages perl)
   #:use-module (gnu packages python)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages tls)
@@ -66,22 +69,36 @@ applications based on the TCP protocol.")
 (define-public torsocks
   (package
     (name "torsocks")
-    (version "1.2")
+    (version "2.0.0")
     (source (origin
-             (method url-fetch)
-             (uri (string-append "http://torsocks.googlecode.com/files/torsocks-"
-                                 version ".tar.gz"))
-             (sha256
-              (base32
-               "1m0is5q24sf7jjlkl0icfkdc0m53nbkg0q72s57p48yp4hv7v9dy"))))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://git.torproject.org/torsocks.git")
+                    (commit (string-append "v" version))))
+              (sha256
+               (base32
+                "0an2q5ail9z414riyjbkjkm29504hy778j914baz2gn5hlv2cfak"))
+              (file-name (string-append name "-" version "-checkout"))
+              (patches (list (search-patch "torsocks-dns-test.patch")))))
     (build-system gnu-build-system)
-    (home-page "http://code.google.com/p/torsocks/")
+    (arguments
+     '(#:phases (modify-phases %standard-phases
+                  (add-before 'configure 'bootstrap
+                    (lambda _
+                      (system* "autoreconf" "-vfi"))))))
+    (native-inputs `(("autoconf" ,(autoconf-wrapper))
+                     ("automake" ,automake)
+                     ("libtool" ,libtool)
+                     ("perl-test-harness" ,perl-test-harness)))
+    (home-page "http://www.torproject.org/")
     (synopsis "Use socks-friendly applications with Tor")
     (description
      "Torsocks allows you to use most socks-friendly applications in a safe
 way with Tor.  It ensures that DNS requests are handled safely and explicitly
 rejects UDP traffic from the application you're using.")
-    (license gpl2+)))
+
+    ;; All the files explicitly say "version 2 only".
+    (license gpl2)))
 
 (define-public privoxy
   (package