Files
nixpkgs/pkgs/by-name/pr/prime-server/package.nix
2026-08-13 17:58:47 +02:00

66 lines
1.3 KiB
Nix

{
lib,
stdenv,
fetchFromGitHub,
cmake,
pkg-config,
curl,
zeromq,
czmq,
libsodium,
runCommand,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "prime-server";
version = "0.13.1";
src = fetchFromGitHub {
owner = "kevinkreiser";
repo = "prime_server";
tag = finalAttrs.version;
hash = "sha256-B6vy/y4PDEpnxXuMpAisBq5avNpW84q/+9zbuNBOnko=";
fetchSubmodules = true;
};
nativeBuildInputs = [
cmake
pkg-config
];
buildInputs = [ libsodium ];
propagatedBuildInputs = [
curl
czmq
zeromq
];
passthru.tests.simple =
runCommand "prime-server-test"
{
nativeBuildInputs = [
finalAttrs.finalPackage
curl
];
}
''
prime_serverd tcp://127.0.0.1:8001 1 0 &
pid=$!
trap 'kill $pid' EXIT
test "$(curl -fsS --retry 30 --retry-delay 1 --retry-connrefused 'http://127.0.0.1:8001/is_prime?possible_prime=17')" = 17
touch "$out"
'';
meta = {
description = "Non-blocking (web)server API for distributed computing and SOA based on zeromq";
homepage = "https://github.com/kevinkreiser/prime_server";
license = lib.licenses.bsd2;
maintainers = with lib.maintainers; [
Thra11
karlbeecken
];
platforms = lib.platforms.linux ++ lib.platforms.darwin;
};
})