From 9f12e06bb3c84c148a28491a480c7b8f55a3c131 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 31 Mar 2020 10:50:46 +0200 Subject: gnu: Add chrony. * gnu/packages/ntp.scm (chrony): New public variable. --- gnu/packages/ntp.scm | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 67 insertions(+), 1 deletion(-) (limited to 'gnu/packages/ntp.scm') diff --git a/gnu/packages/ntp.scm b/gnu/packages/ntp.scm index dfcdb58de4..c620019200 100644 --- a/gnu/packages/ntp.scm +++ b/gnu/packages/ntp.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer ;;; Copyright © 2015, 2018 Ludovic Courtès ;;; Copyright © 2016, 2017, 2018 Efraim Flashner -;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice +;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice ;;; Copyright © 2019 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. @@ -28,7 +28,9 @@ #:use-module (gnu packages base) #:use-module (gnu packages libevent) #:use-module (gnu packages linux) + #:use-module (gnu packages nettle) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages readline) #:use-module (gnu packages tls) #:use-module (guix build-system gnu) #:use-module (guix download) @@ -38,6 +40,70 @@ #:use-module (guix utils) #:use-module (srfi srfi-1)) +(define-public chrony + (package + (name "chrony") + (version "3.5") + (source + (origin + (method url-fetch) + (uri (string-append "https://download.tuxfamily.org/chrony/" + "chrony-" version ".tar.gz")) + (sha256 + (base32 "1d9r2dhslll4kzdmxrj0qfgwq1b30d4l3s5cwr8yr93029dpj0jf")))) + (build-system gnu-build-system) + (arguments + `(#:modules ((srfi srfi-26) + (guix build utils) + (guix build gnu-build-system)) + #:configure-flags + (list "--enable-scfilter" + "--with-sendmail=sendmail" + "--with-user=chrony") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'stay-inside-out + ;; Simply setting CHRONYVARDIR to something nonsensical at install + ;; time would result in nonsense file names in man pages. + (lambda _ + (substitute* "Makefile.in" + (("mkdir -p \\$\\(DESTDIR\\)\\$\\(CHRONYVARDIR\\)") ":")) + #t)) + (add-after 'install 'install-more-documentation + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (string-append out "/share/doc/" ,name "-" ,version))) + (for-each (cut install-file <> doc) + (list "README" "FAQ")) + (copy-recursively "examples" (string-append doc "/examples")) + #t)))))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("libcap" ,libcap) + ("libseccomp" ,libseccomp) + ("nettle" ,nettle))) + (home-page "https://chrony.tuxfamily.org/") + (synopsis "System clock synchronisation service that speaks NTP") + (description + "Chrony keeps your system time accurate. It synchronises your computer's +clock with @acronym{NTP, Network Time Protocol} servers, reference clocks such +as GPS receivers, or even manual input of the correct time from a wristwatch. + +Chrony will determine the rate at which the computer gains or loses time, and +compensate for it. It can also operate as an NTPv4 (RFC 5905) server and peer +to tell time to other computers on the network. + +It's designed to perform well even under adverse conditions: congested +networks, unreliable clocks drifting with changes in temperature, and devices +or virtual machines that are frequently turned off and connect to the Internet +for only a few minutes at a time. + +Typical accuracy when synchronised over the Internet is several milliseconds. +On a local network this can reach tens of microseconds. With hardware +time-stamping or reference clock, sub-microsecond accuracy is possible.") + (license l:gpl2))) + (define-public ntp (package (name "ntp") -- cgit v1.2.3 From 198571b264547f800803e554c8f21a9c95be959c Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 8 Apr 2020 16:59:21 +0200 Subject: gnu: openntpd: Don't use NAME in source URI. * gnu/packages/ntp.scm (openntpd)[source]: Hard-code NAME. --- gnu/packages/ntp.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu/packages/ntp.scm') diff --git a/gnu/packages/ntp.scm b/gnu/packages/ntp.scm index c620019200..e37bf30a7d 100644 --- a/gnu/packages/ntp.scm +++ b/gnu/packages/ntp.scm @@ -169,7 +169,7 @@ computers over a network.") (source (origin (method url-fetch) (uri (string-append - "mirror://openbsd/OpenNTPD/" name "-" version ".tar.gz")) + "mirror://openbsd/OpenNTPD/openntpd-" version ".tar.gz")) (sha256 (base32 "0fn12i4kzsi0zkr4qp3dp9bycmirnfapajqvdfx02zhr4hanj0kv")))) -- cgit v1.2.3