Kei Kebreau writes: > Marius Bakke writes: > >> * gnu/packages/dns.scm (dnscrypt-wrapper): New variable. >> --- >> gnu/packages/dns.scm | 42 ++++++++++++++++++++++++++++++++++++++++++ >> 1 file changed, 42 insertions(+) >> >> diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm >> index b49a0b7..0c8c547 100644 >> --- a/gnu/packages/dns.scm >> +++ b/gnu/packages/dns.scm >> @@ -6,6 +6,7 @@ >> ;;; Copyright © 2016 John Darrington >> ;;; Copyright © 2016 ng0 >> ;;; Copyright © 2016 Tobias Geerinckx-Rice >> +;;; Copyright © 2016 Marius Bakke >> ;;; >> ;;; This file is part of GNU Guix. >> ;;; >> @@ -26,7 +27,9 @@ >> #:use-module (gnu packages autotools) >> #:use-module (gnu packages base) >> #:use-module (gnu packages databases) >> + #:use-module (gnu packages crypto) >> #:use-module (gnu packages groff) >> + #:use-module (gnu packages libevent) >> #:use-module (gnu packages linux) >> #:use-module (gnu packages perl) >> #:use-module (gnu packages pkg-config) >> @@ -134,6 +137,45 @@ high-volume and high-reliability applications. The name BIND stands for >> (home-page "https://www.isc.org/downloads/bind") >> (license (list license:isc)))) >> >> +(define-public dnscrypt-wrapper >> + (package >> + (name "dnscrypt-wrapper") >> + (version "0.2.2") >> + (source (origin >> + (method url-fetch) >> + (uri (string-append >> + "https://github.com/cofyc/dnscrypt-wrapper/releases" >> + "/download/v" version "/" name "-v" version ".tar.bz2")) >> + (sha256 >> + (base32 >> + "1vhg4g0r687f51wcdn7z9w1hxapazx6vyh5rsr8wa48sljzd583g")))) >> + (build-system gnu-build-system) >> + (arguments >> + `(#:make-flags '("CC=gcc") >> + ;; TODO: Tests require ruby-cucumber and ruby-aruba. >> + #:tests? #f >> + #:phases >> + (modify-phases %standard-phases >> + (add-before 'configure 'create-configure >> + (lambda _ >> + (zero? (system* "make" "configure"))))))) >> + (native-inputs >> + `(("autoconf" ,autoconf))) >> + (inputs >> + `(("libevent" ,libevent) >> + ("libsodium" ,libsodium))) >> + (home-page "https://github.com/Cofyc/dnscrypt-wrapper") >> + (synopsis "Server-side dnscrypt proxy") >> + (description >> + "Dnscrypt-wrapper can turn any DNS resolver into a @code{dnscrypt} >> +compliant name server.") >> + (license (list license:isc >> + ;; Bundled argparse is MIT. TODO: package and unbundle. >> + license:expat >> + ;; dns-protocol.h and rfc1035.{c,h} is gpl2 or gpl3 (either). >> + license:gpl2 >> + license:gpl3)))) >> + >> (define-public libasr >> (package >> (name "libasr") > > I'm not sure how to test the functionality of the software, but the > patch itself LGTM. To test it, follow the steps in the README on a remote machine: https://github.com/Cofyc/dnscrypt-wrapper#usage ..and set up dnscrypt-proxy on your local computer to talk to it. Then add 'nameserver 127.0.0.1' to resolv.conf. I'm currently using this to bypass a DNS filter, so I know it works ;-)