Kei Kebreau writes: > Marius Bakke writes: > >> 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 ;-) > > Thanks for the instructions. This works for me! :) Cool, thanks for testing. I'll commit these in a few days, unless some autotools guru steps in and figures out how to skip the unnecessary "libltdl" build in dnscrypt-proxy :-)