From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:32803) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fd8be-0001t4-Li for guix-patches@gnu.org; Wed, 11 Jul 2018 02:28:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fd8ba-0008Rr-Jt for guix-patches@gnu.org; Wed, 11 Jul 2018 02:28:06 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:46772) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fd8ba-0008Rm-Ei for guix-patches@gnu.org; Wed, 11 Jul 2018 02:28:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1fd8ba-0000DB-6E for guix-patches@gnu.org; Wed, 11 Jul 2018 02:28:02 -0400 Subject: [bug#32114] [PATCH] gnu: Add ddclient. Resent-Message-ID: Date: Wed, 11 Jul 2018 06:27:58 +0000 From: Nils Gillmann Message-ID: <20180711062758.hk6ehmh3szh7viyv@abyayala> References: <20180710162955.10895-1-go.wigust@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20180710162955.10895-1-go.wigust@gmail.com> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: Oleg Pykhalov Cc: 32114@debbugs.gnu.org Oleg Pykhalov transcribed 4.8K bytes: > * gnu/packages/dns.scm (ddclient): New variable. > --- > gnu/packages/dns.scm | 85 +++++++++++++++++++++++++++++++++++++++++++- > 1 file changed, 84 insertions(+), 1 deletion(-) > > diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm > index 78479b2d3..b17016909 100644 > --- a/gnu/packages/dns.scm > +++ b/gnu/packages/dns.scm > @@ -9,6 +9,7 @@ > ;;; Copyright © 2016 Marius Bakke > ;;; Copyright © 2017 Vasile Dumitrascu > ;;; Copyright © 2017 Gregor Giesen > +;;; Copyright © 2018 Oleg Pykhalov > ;;; > ;;; This file is part of GNU Guix. > ;;; > @@ -29,7 +30,9 @@ > #:use-module (gnu packages admin) > #:use-module (gnu packages autotools) > #:use-module (gnu packages base) > + #:use-module (gnu packages bash) > #:use-module (gnu packages databases) > + #:use-module (gnu packages compression) > #:use-module (gnu packages crypto) > #:use-module (gnu packages datastructures) > #:use-module (gnu packages flex) > @@ -55,7 +58,8 @@ > #:use-module (guix packages) > #:use-module (guix download) > #:use-module (guix utils) > - #:use-module (guix build-system gnu)) > + #:use-module (guix build-system gnu) > + #:use-module (guix build-system trivial)) > > (define-public dnsmasq > (package > @@ -576,3 +580,82 @@ synthesis, and on-the-fly re-configuration.") > license:lgpl2.0+ ; parts of scr/contrib/ucw > license:public-domain ; src/contrib/fnv and possibly murmurhash3 > license:gpl3+)))) ; everything else > + > +(define-public ddclient > + (package > + (name "ddclient") > + (version "3.8.3") > + (source (origin > + (method url-fetch) > + (uri (string-append "mirror://sourceforge/ddclient/ddclient/ddclient-" > + version "/ddclient-" version ".tar.gz")) > + (sha256 > + (base32 > + "1j8zdn7fy7i0bjk3jf0hxnbnshc2yf054vxq64imxdpfd7n5zgfy")))) > + (build-system trivial-build-system) > + (native-inputs > + `(("bash" ,bash) > + ("gzip" ,gzip) > + ("perl" ,perl) > + ("tar" ,tar))) > + (inputs > + `(("net-tools" ,net-tools) > + ("perl-io-socket-ssl" ,perl-io-socket-ssl) > + ("perl-digest-sha1" ,perl-digest-sha1))) > + (arguments > + `(#:modules ((guix build utils) > + (ice-9 match) > + (srfi srfi-26)) > + #:builder > + (begin > + (use-modules (guix build utils) > + (ice-9 match) > + (srfi srfi-26)) > + ;; bootstrap > + (setenv "PATH" (string-append > + (assoc-ref %build-inputs "bash") "/bin" ":" > + (assoc-ref %build-inputs "tar") "/bin" ":" > + (assoc-ref %build-inputs "gzip") "/bin" ":" > + (assoc-ref %build-inputs "perl") "/bin")) > + ;; extract source > + (invoke "tar" "xvf" (assoc-ref %build-inputs "source")) > + ;; package > + (with-directory-excursion (string-append ,name "-" ,version) > + (let* ((out (assoc-ref %outputs "out")) > + (bin (string-append out "/bin"))) > + (let ((file "ddclient")) > + (substitute* file > + (("/usr/bin/perl") (which "perl"))) > + (install-file file bin) > + (wrap-program (string-append bin "/" file) > + `("PATH" ":" = > + ("$PATH" > + ,@(map (lambda (input) > + (match input > + ((name . store) > + (string-append store "/bin")))) > + %build-inputs))) > + `("PERL5LIB" ":" = > + ,(delete > + "" > + (map (match-lambda > + (((? (cut string-prefix? "perl-" <>) name) . dir) > + (string-append dir "/lib/perl5/site_perl")) > + (_ "")) > + %build-inputs))))) > + (for-each (cut install-file <> (string-append out > + "/share/ddclient")) > + (find-files "." "sample.*$"))))))) > + (home-page "https://sourceforge.net/projects/ddclient/") > + (synopsis "Address updating utility for dynamic DNS services") > + (description "This package provides a client to update dynamic IP > +addresses with several dynamic DNS service providers, such as > +@uref{https://www.dyndns.com/account/login.html,DynDNS.com}. > + > +This makes it possible to use a fixed hostname (such as myhost.dyndns.org) to > +access a machine with a dynamic IP address. > + > +This client supports both dynamic and (near) static services, as well as MX > +record and alternative name management. It caches the address, and only > +attempts the update when it has changed.") > + (license license:gpl2+))) > -- > 2.18.0 Looks good to me. maybe replace the "This" repetition in the description?