biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / servers / sks / default.nix
blobb40f76b26606d7924e45ac9a8ae12333a46f8556
1 { lib, stdenv, fetchFromGitHub, ocamlPackages, perl
2 , zlib, db
3 }:
5 let
6   inherit (ocamlPackages)
7     ocaml
8     findlib
9     cryptokit
10     num
11     ;
14 stdenv.mkDerivation rec {
15   pname = "sks";
16   version = "unstable-2021-02-04";
18   src = fetchFromGitHub {
19     owner = "SKS-Keyserver";
20     repo = "sks-keyserver";
21     rev = "c3ba6d5abb525dcb84745245631c410c11c07ec1";
22     sha256 = "0fql07sc69hv6jy7x5svb19977cdsz0p1j8wv53k045a6v7rw1jw";
23   };
25   # pkgs.db provides db_stat, not db$major.$minor_stat
26   patches = [
27     ./adapt-to-nixos.patch
28   ];
30   outputs = [ "out" "webSamples" ];
32   nativeBuildInputs = [ ocaml findlib perl ];
33   buildInputs = [ zlib db cryptokit num ];
35   makeFlags = [ "PREFIX=$(out)" "MANDIR=$(out)/share/man" ];
36   preConfigure = ''
37     cp Makefile.local.unused Makefile.local
38     sed -i \
39       -e "s:^LIBDB=.*$:LIBDB=-ldb:g" \
40       Makefile.local
41   '';
43   preBuild = "make dep";
45   doCheck = true;
46   checkPhase = "./sks unit_test";
48   # Copy the web examples for the NixOS module
49   postInstall = "cp -R sampleWeb $webSamples";
51   meta = with lib; {
52     description = "An easily deployable & decentralized OpenPGP keyserver";
53     longDescription = ''
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.
59     '';
60     inherit (src.meta) homepage;
61     license = licenses.gpl2Plus;
62     platforms = platforms.linux;
63     maintainers = with maintainers; [ ];
64   };