1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 cmake,
6 buildPackages,
7 pkg-config,
8 icu,
9 catch2_3,
10 enableManpages ? buildPackages.pandoc.compiler.bootstrapAvailable,
11}:
12
13stdenv.mkDerivation rec {
14 pname = "nuspell";
15 version = "5.1.6";
16
17 src = fetchFromGitHub {
18 owner = "nuspell";
19 repo = "nuspell";
20 rev = "v${version}";
21 hash = "sha256-U/lHSxpKsBnamf4ikE2aIjEPSU5fxjtuSmhZR0jxMAI=";
22 };
23
24 nativeBuildInputs = [
25 cmake
26 pkg-config
27 ]
28 ++ lib.optionals enableManpages [
29 buildPackages.pandoc
30 ];
31
32 buildInputs = [ catch2_3 ];
33
34 propagatedBuildInputs = [ icu ];
35
36 cmakeFlags = [
37 "-DBUILD_TESTING=YES"
38 ]
39 ++ lib.optionals (!enableManpages) [
40 "-DBUILD_DOCS=OFF"
41 ];
42
43 doCheck = true;
44
45 outputs = [
46 "out"
47 "lib"
48 "dev"
49 ];
50
51 meta = with lib; {
52 description = "Free and open source C++ spell checking library";
53 mainProgram = "nuspell";
54 homepage = "https://nuspell.github.io/";
55 platforms = platforms.all;
56 maintainers = with maintainers; [ fpletz ];
57 license = licenses.lgpl3Plus;
58 changelog = "https://github.com/nuspell/nuspell/blob/v${version}/CHANGELOG.md";
59 };
60}