mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-11-07 07:26:13 -05:00
gnu: Add chrony.
* gnu/packages/ntp.scm (chrony): New public variable.
This commit is contained in:
parent
8c04471f24
commit
9f12e06bb3
1 changed files with 67 additions and 1 deletions
|
@ -4,7 +4,7 @@
|
|||
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
|
||||
;;; Copyright © 2015, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
|
@ -28,7 +28,9 @@ (define-module (gnu packages ntp)
|
|||
#: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 @@ (define-module (gnu packages ntp)
|
|||
#: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")
|
||||
|
|
Loading…
Reference in a new issue