From 2e53fa5346bf52f6d6d26e035bc905ebd410dabb Mon Sep 17 00:00:00 2001 From: Picnoir Date: Sun, 19 May 2024 14:46:26 +0200 Subject: gnu: Add nsncd. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/nss.scm (nsncd): New variable. Introducing Nsncd, a non-caching alternative of Glibc Nscd. Change-Id: I18ba7ffbb6fb59c4928829bb98a8da4e6963e587 Co-authored-by: Ludovic Courtès --- gnu/packages/nss.scm | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/gnu/packages/nss.scm b/gnu/packages/nss.scm index 8fb8a2fc99..d558079f44 100644 --- a/gnu/packages/nss.scm +++ b/gnu/packages/nss.scm @@ -28,6 +28,8 @@ (define-module (gnu packages nss) #:use-module (guix utils) #:use-module (guix gexp) #:use-module (guix download) + #:use-module (guix git-download) + #:use-module (guix build-system cargo) #:use-module (guix build-system gnu) #:use-module (guix build-system mozilla) #:use-module ((guix licenses) #:prefix license:) @@ -35,6 +37,7 @@ (define-module (gnu packages nss) #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages check) + #:use-module (gnu packages crates-io) #:use-module (gnu packages compression) #:use-module (gnu packages perl) #:use-module (gnu packages sqlite)) @@ -299,3 +302,49 @@ (define-public nss/fixed ;; work around that, set the time to roughly the release date. (invoke "faketime" "2024-01-23" "./nss/tests/all.sh")) (format #t "test suite not run~%")))))))))))) + +(define-public nsncd + (package + (name "nsncd") + (version "2024-04-09") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/twosigma/nsncd") + (commit "7605e330d5a313a8656e6fcaf1c10cd6b5cdd427"))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1hk8bh2a02nyk3rpzbjx1a2iiz15d0vx3ysa180wmr8gsc9ymph5")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-test-flags + '("--" + ;; These tests fail with the current builder network setup + "--skip=ffi::test_gethostbyaddr_r" + "--skip=ffi::test_gethostbyname2_r") + #:cargo-inputs + (("rust-anyhow" ,rust-anyhow-1) + ("rust-atoi" ,rust-atoi-2) + ("rust-slog" ,rust-slog-2) + ("rust-slog-async" ,rust-slog-async-2-8) + ("rust-slog-term" ,rust-slog-term-2) + ("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5) + ("rust-nix" ,rust-nix-0.28) + ("rust-num-derive" ,rust-num-derive-0.3) + ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-sd-notify" ,rust-sd-notify-0.4) + ("rust-static-assertions" ,rust-static-assertions-1) + ("rust-dns-lookup" ,rust-dns-lookup-2)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.5) + ("rust-temp-env" ,rust-temp-env-0.3)))) + (home-page "https://github.com/twosigma/nsncd") + (synopsis "The name service non-caching daemon") + (description + "This package provides @command{nscd}, a daemon compatible that proxies +lookups, compatible with the GNU C Library's @command{nscd}, but without +caching. It can be used in situations where you want to make an application +use @acronym{NSS, Name Service Switch} plugins available to a different libc +than the one the application will load.") + (license (list license:asl2.0)))) -- cgit v1.2.3