nixpkgs/pkgs/tools/networking/chrony/default.nix

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

65 lines
2.0 KiB
Nix
Raw Normal View History

2023-01-02 12:12:47 +00:00
{ lib, stdenv, fetchurl, pkg-config
, gnutls, libedit, nspr, nss, readline, texinfo
, libcap, libseccomp, pps-tools
2023-08-10 00:02:33 +00:00
, nixosTests
2023-01-02 12:12:47 +00:00
}:
stdenv.mkDerivation rec {
pname = "chrony";
2023-08-09 23:40:08 +00:00
version = "4.4";
2015-02-27 21:53:01 +00:00
src = fetchurl {
url = "https://download.tuxfamily.org/chrony/${pname}-${version}.tar.gz";
2023-08-09 23:40:08 +00:00
hash = "sha256-6vsH5tr5KxQiAPR4hW3+1u/J6i0Ubu3tXtywm5MScIg=";
};
2015-02-27 21:53:01 +00:00
2023-01-02 12:12:47 +00:00
outputs = [ "out" "man" ];
nativeBuildInputs = [ pkg-config ];
buildInputs = [ gnutls libedit nspr nss readline texinfo ]
++ lib.optionals stdenv.isLinux [ libcap libseccomp pps-tools ];
configureFlags = [
"--enable-ntp-signd"
"--sbindir=$(out)/bin"
"--chronyrundir=/run/chrony"
] ++ lib.optional stdenv.isLinux "--enable-scfilter";
patches = [
# Cleanup the installation script
./makefile.patch
];
2018-08-08 21:36:52 +00:00
postPatch = ''
patchShebangs test
'';
hardeningEnable = [ "pie" ];
2016-02-26 17:54:46 +00:00
2023-08-10 00:02:33 +00:00
passthru.tests = { inherit (nixosTests) chrony chrony-ptp; };
meta = with lib; {
description = "Sets your computer's clock from time servers on the Net";
homepage = "https://chrony.tuxfamily.org/";
license = licenses.gpl2;
2014-08-10 08:59:21 +00:00
platforms = with platforms; linux ++ freebsd ++ openbsd;
maintainers = with maintainers; [ fpletz thoughtpolice ];
longDescription = ''
Chronyd is a daemon which runs in background on the system. It obtains
measurements via the network of the system clocks offset relative to
time servers on other systems and adjusts the system time accordingly.
For isolated systems, the user can periodically enter the correct time by
hand (using Chronyc). In either case, Chronyd determines the rate at
which the computer gains or loses time, and compensates for this. Chronyd
implements the NTP protocol and can act as either a client or a server.
Chronyc provides a user interface to Chronyd for monitoring its
performance and configuring various settings. It can do so while running
on the same computer as the Chronyd instance it is controlling or a
different computer.
'';
};
}