about summary refs log tree commit diff
diff options
context:
space:
mode:
authorFranz Pletz <fpletz@fnordicwalking.de>2023-08-28 16:29:49 +0200
committerGitHub <noreply@github.com>2023-08-28 16:29:49 +0200
commit417810662a7aff131c2ac34996ec0932fdbc2274 (patch)
tree135135c132709bdd1ea17fe3b66edbfd4521c9c1
parent70508e024e285b6c32862ccd2b331ba510c2905f (diff)
parentee5330729205f78878c775c72e84e5edbf9dab76 (diff)
Merge pull request #251484 from fpletz/pkgs/ntpd-rs-0.3.7
-rw-r--r--pkgs/tools/networking/ntpd-rs/default.nix45
-rw-r--r--pkgs/top-level/all-packages.nix2
2 files changed, 47 insertions, 0 deletions
diff --git a/pkgs/tools/networking/ntpd-rs/default.nix b/pkgs/tools/networking/ntpd-rs/default.nix
new file mode 100644
index 0000000000000..0fa44cb418c70
--- /dev/null
+++ b/pkgs/tools/networking/ntpd-rs/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "ntpd-rs";
+  version = "0.3.7";
+
+  src = fetchFromGitHub {
+    owner = "pendulum-project";
+    repo = "ntpd-rs";
+    rev = "v${version}";
+    hash = "sha256-AUCzsveG9U+KxYO/4LGmyCPkR+w9pGDA/vTzMAGiVuI=";
+  };
+
+  cargoHash = "sha256-6FUVkr3uock43ZBHuMEVIZ5F8Oh8wMifh2EokMWv4hU=";
+
+  checkFlags = [
+    # doesn't find the testca
+    "--skip=keyexchange::tests::key_exchange_roundtrip"
+    # seems flaky
+    "--skip=algorithm::kalman::peer::tests::test_offset_steering_and_measurements"
+    # needs networking
+    "--skip=hwtimestamp::tests::get_hwtimestamp"
+  ];
+
+  postInstall = ''
+    install -vDt $out/lib/systemd/system pkg/common/ntpd-rs.service
+
+    for testprog in demobilize-server rate-limit-server nts-ke nts-ke-server peer-state simple-daemon; do
+      moveToOutput bin/$testprog "$tests"
+    done
+  '';
+
+  outputs = [ "out" "tests" ];
+
+  meta = with lib; {
+    description = "A full-featured implementation of the Network Time Protocol";
+    homepage = "https://tweedegolf.nl/en/pendulum";
+    changelog = "https://github.com/pendulum-project/ntpd-rs/blob/v${version}/CHANGELOG.md";
+    license = with licenses; [ mit /* or */ asl20 ];
+    maintainers = with maintainers; [ fpletz ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 63f600f3dd6bc..5674a6f48f676 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1890,6 +1890,8 @@ with pkgs;
 
   nominatim = callPackage ../servers/nominatim { };
 
+  ntpd-rs = callPackage ../tools/networking/ntpd-rs { };
+
   ocs-url = libsForQt5.callPackage ../tools/misc/ocs-url { };
 
   openbugs = pkgsi686Linux.callPackage ../applications/science/machine-learning/openbugs { };