From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:470:142:3::10]:36017) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jJG3o-0001TQ-5I for guix-patches@gnu.org; Tue, 31 Mar 2020 08:32:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jJG3m-0007nD-R7 for guix-patches@gnu.org; Tue, 31 Mar 2020 08:32:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:52386) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jJG3m-0007n7-OF for guix-patches@gnu.org; Tue, 31 Mar 2020 08:32:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jJG3m-0000bu-K3 for guix-patches@gnu.org; Tue, 31 Mar 2020 08:32:02 -0400 Subject: [bug#40347] [PATCH] gnu: Add chrony. Resent-Message-ID: Received: from eggs.gnu.org ([2001:470:142:3::10]:35960) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jJG3T-00019D-MN for guix-patches@gnu.org; Tue, 31 Mar 2020 08:31:44 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jJG3S-0007XK-C7 for guix-patches@gnu.org; Tue, 31 Mar 2020 08:31:43 -0400 Received: from tobias.gr ([2a02:c205:2020:6054::1]:50278) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1jJG3R-0007TB-Q2 for guix-patches@gnu.org; Tue, 31 Mar 2020 08:31:42 -0400 Received: by tobias.gr (OpenSMTPD) with ESMTP id fb384219 for ; Tue, 31 Mar 2020 12:31:38 +0000 (UTC) Received: by submission.tobias.gr (OpenSMTPD) with ESMTPSA id 6255a612 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for ; Tue, 31 Mar 2020 12:31:38 +0000 (UTC) Date: Tue, 31 Mar 2020 14:31:31 +0200 Message-Id: <20200331123131.21520-1-me@tobias.gr> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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" Reply-to: Tobias Geerinckx-Rice , Tobias Geerinckx-Rice via Guix-patches From: Tobias Geerinckx-Rice via Guix-patches via To: 40347@debbugs.gnu.org * gnu/packages/ntp.scm (chrony): New public variable. --- gnu/packages/ntp.scm | 66 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) diff --git a/gnu/packages/ntp.scm b/gnu/packages/ntp.scm index dfcdb58de4..554317e2d4 100644 --- a/gnu/packages/ntp.scm +++ b/gnu/packages/ntp.scm @@ -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 + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out"))) + (invoke "make" "-j" (number->string (parallel-job-count)) + (string-append "CHRONYVARDIR=ignored") + "install")))) + (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) + ("readline" ,readline))) + (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 provide a time service 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") -- 2.25.2