3
0
Fork 0
forked from mirrors/nixpkgs
nixpkgs/pkgs/servers/sks/default.nix
sternenseemann a1d9d4ea21 sks: 1.1.6 -> unstable-2021-02-04
The 1.1.6 release is from 2016 and only supports old OCaml version.
Updating to current master allows us to use nixpkgs' default ocaml
version.

It also no longer vendors in an old version of cryptokit.
2021-03-21 20:19:21 +01:00

67 lines
1.7 KiB
Nix

{ lib, stdenv, fetchFromGitHub, ocamlPackages, perl
, zlib, db
}:
let
inherit (ocamlPackages)
ocaml
findlib
cryptokit
num
;
in
stdenv.mkDerivation rec {
pname = "sks";
version = "unstable-2021-02-04";
src = fetchFromGitHub {
owner = "SKS-Keyserver";
repo = "sks-keyserver";
rev = "c3ba6d5abb525dcb84745245631c410c11c07ec1";
sha256 = "0fql07sc69hv6jy7x5svb19977cdsz0p1j8wv53k045a6v7rw1jw";
};
# pkgs.db provides db_stat, not db$major.$minor_stat
patches = [
./adapt-to-nixos.patch
];
outputs = [ "out" "webSamples" ];
nativeBuildInputs = [ ocaml findlib perl ];
buildInputs = [ zlib db cryptokit num ];
makeFlags = [ "PREFIX=$(out)" "MANDIR=$(out)/share/man" ];
preConfigure = ''
cp Makefile.local.unused Makefile.local
sed -i \
-e "s:^LIBDB=.*$:LIBDB=-ldb:g" \
Makefile.local
'';
preBuild = "make dep";
doCheck = true;
checkPhase = "./sks unit_test";
# Copy the web examples for the NixOS module
postInstall = "cp -R sampleWeb $webSamples";
meta = with lib; {
description = "An easily deployable & decentralized OpenPGP keyserver";
longDescription = ''
SKS is an OpenPGP keyserver whose goal is to provide easy to deploy,
decentralized, and highly reliable synchronization. That means that a key
submitted to one SKS server will quickly be distributed to all key
servers, and even wildly out-of-date servers, or servers that experience
spotty connectivity, can fully synchronize with rest of the system.
'';
inherit (src.meta) homepage;
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ primeos fpletz globin ];
};
}