latte-dock: 0.9.11 -> 0.9.12
[NixPkgs.git] / pkgs / tools / networking / chrony / default.nix
blob24968c64a09369901344fa466f925f33542330c7
1 { lib, stdenv, fetchurl, pkg-config, libcap, readline, texinfo, nss, nspr
2 , libseccomp, pps-tools, gnutls }:
4 assert stdenv.isLinux -> libcap != null;
6 stdenv.mkDerivation rec {
7   pname = "chrony";
8   version = "4.1";
10   src = fetchurl {
11     url = "https://download.tuxfamily.org/chrony/${pname}-${version}.tar.gz";
12     sha256 = "sha256-7Xby0/k0esYiGpGtS9VT3QVlrBiM10kNCAHQj3FxFkw=";
13   };
15   postPatch = ''
16     patchShebangs test
17   '';
19   buildInputs = [ readline texinfo nss nspr gnutls ]
20     ++ lib.optionals stdenv.isLinux [ libcap libseccomp pps-tools ];
21   nativeBuildInputs = [ pkg-config ];
23   hardeningEnable = [ "pie" ];
25   configureFlags = [ "--chronyvardir=$(out)/var/lib/chrony" ]
26     ++ lib.optional stdenv.isLinux "--enable-scfilter";
28   meta = with lib; {
29     description = "Sets your computer's clock from time servers on the Net";
30     homepage = "https://chrony.tuxfamily.org/";
31     repositories.git = "git://git.tuxfamily.org/gitroot/chrony/chrony.git";
32     license = licenses.gpl2;
33     platforms = with platforms; linux ++ freebsd ++ openbsd;
34     maintainers = with maintainers; [ fpletz thoughtpolice ];
36     longDescription = ''
37       Chronyd is a daemon which runs in background on the system. It obtains
38       measurements via the network of the system clock’s offset relative to
39       time servers on other systems and adjusts the system time accordingly.
40       For isolated systems, the user can periodically enter the correct time by
41       hand (using Chronyc). In either case, Chronyd determines the rate at
42       which the computer gains or loses time, and compensates for this. Chronyd
43       implements the NTP protocol and can act as either a client or a server.
45       Chronyc provides a user interface to Chronyd for monitoring its
46       performance and configuring various settings. It can do so while running
47       on the same computer as the Chronyd instance it is controlling or a
48       different computer.
49     '';
50   };