1 { lib, stdenv, fetchFromGitHub, ocamlPackages, perl
6 inherit (ocamlPackages)
14 stdenv.mkDerivation rec {
16 version = "unstable-2021-02-04";
18 src = fetchFromGitHub {
19 owner = "SKS-Keyserver";
20 repo = "sks-keyserver";
21 rev = "c3ba6d5abb525dcb84745245631c410c11c07ec1";
22 sha256 = "0fql07sc69hv6jy7x5svb19977cdsz0p1j8wv53k045a6v7rw1jw";
25 # pkgs.db provides db_stat, not db$major.$minor_stat
27 ./adapt-to-nixos.patch
30 outputs = [ "out" "webSamples" ];
32 nativeBuildInputs = [ ocaml findlib perl ];
33 buildInputs = [ zlib db cryptokit num ];
35 makeFlags = [ "PREFIX=$(out)" "MANDIR=$(out)/share/man" ];
37 cp Makefile.local.unused Makefile.local
39 -e "s:^LIBDB=.*$:LIBDB=-ldb:g" \
43 preBuild = "make dep";
46 checkPhase = "./sks unit_test";
48 # Copy the web examples for the NixOS module
49 postInstall = "cp -R sampleWeb $webSamples";
52 description = "Easily deployable & decentralized OpenPGP keyserver";
54 SKS is an OpenPGP keyserver whose goal is to provide easy to deploy,
55 decentralized, and highly reliable synchronization. That means that a key
56 submitted to one SKS server will quickly be distributed to all key
57 servers, and even wildly out-of-date servers, or servers that experience
58 spotty connectivity, can fully synchronize with rest of the system.
60 inherit (src.meta) homepage;
61 license = licenses.gpl2Plus;
62 platforms = platforms.linux;