diff options
author | Chloe Brown <chloe.brown.00@outlook.com> | 2023-11-01 13:05:03 +0000 |
---|---|---|
committer | Chloe Brown <chloe.brown.00@outlook.com> | 2023-11-01 13:05:03 +0000 |
commit | 6a75a2d9c1e07b3394b8be8eb60236aaeb150bfc (patch) | |
tree | dbf2051325deeb54a66c37a0ed26bc6fa47a2ac0 | |
parent | 3f4ab2e2bf8748d502c66afc0de5a28fd927a804 (diff) |
ddclient: restore removed package
-rw-r--r-- | yellowsquid/packages/dns.scm | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/yellowsquid/packages/dns.scm b/yellowsquid/packages/dns.scm new file mode 100644 index 0000000..3cb1726 --- /dev/null +++ b/yellowsquid/packages/dns.scm @@ -0,0 +1,80 @@ +(define-module (yellowsquid packages dns) + :use-module (gnu packages admin) + :use-module (gnu packages autotools) + :use-module (gnu packages bash) + :use-module (gnu packages curl) + :use-module (gnu packages linux) + :use-module (gnu packages perl) + :use-module (gnu packages perl-check) + :use-module (gnu packages web) + :use-module (guix build-system gnu) + :use-module (guix gexp) + :use-module (guix git-download) + :use-module (guix packages) + :use-module ((guix licenses) :prefix license:) + :use-module (yellowsquid packages) + ) + +(define-public ddclient + (package + (name "ddclient") + (version "3.11.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ddclient/ddclient") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "14v5vfab43kcdlsp1nn2xd6g979d9zz9hslkr1rmklngf5dqkkrq")) + (modules '((guix build utils))) + (snippet + ;; XXX: should just patch test + #~(begin + (substitute* "Makefile.am" + (("t/get_ip_from_if.pl") "")))) + #;(patches (search-patches "ddclient-skip-test.patch")))) + (build-system gnu-build-system) + (native-inputs + (list autoconf automake libtool + perl-test-warnings perl-test-mockmodule)) + (inputs + (list inetutils ; logger + net-tools + bash-minimal ;for 'wrap-program' + curl + perl + perl-digest-sha1 + perl-io-socket-ssl + ;; perl-io-socket-inet6 ;; XXX: this is likely to be removed in a future ddclient release + ;; ;; https://github.com/ddclient/ddclient/issues/461 + perl-json)) + (arguments + (list + #:configure-flags #~(list "--localstatedir=/var") + #:phases + #~(modify-phases %standard-phases + (replace 'install + (lambda _ + ;; XXX: Do not create /var + (invoke "make" "localstatedir=/tmp/discard" "install"))) + (add-after 'wrap 'wrap-ddclient + (lambda* (#:key inputs #:allow-other-keys) + (wrap-program (string-append #$output "/bin/ddclient") + `("PERL5LIB" ":" prefix ,(string-split (getenv "PERL5LIB") #\:)) + `("PATH" prefix ,(map (lambda (x) + (string-append (assoc-ref inputs x) "/bin")) + '("inetutils" "net-tools"))))))))) + ;; (native-search-paths (list $SSL_CERT_DIR $SSL_CERT_FILE)) + (home-page "https://ddclient.net/") + (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. +The 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+))) |