diff --git a/pkgs/development/libraries/nuspell/default.nix b/pkgs/development/libraries/nuspell/default.nix new file mode 100644 index 00000000000..1d92a15ce00 --- /dev/null +++ b/pkgs/development/libraries/nuspell/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, boost, icu, catch2 }: + +stdenv.mkDerivation rec { + name = "nuspell-${version}"; + version = "2.1.0"; + + src = fetchFromGitHub { + owner = "nuspell"; + repo = "nuspell"; + rev = "v${version}"; + sha256 = "0gcw3p1agnx474r7kv27y9jyab20p4j4xx7j9a2yssg54qabm71j"; + }; + + nativeBuildInputs = [ autoreconfHook pkgconfig ]; + buildInputs = [ boost icu ]; + + enableParallelBuilding = true; + + preBuild = '' + ln -s ${catch2}/include/catch2/*.hpp tests/ + ''; + + meta = with stdenv.lib; { + description = "Free and open source C++ spell checking library"; + homepage = "https://nuspell.github.io/"; + maintainers = with maintainers; [ fpletz ]; + }; +} diff --git a/pkgs/development/libraries/nuspell/wrapper.nix b/pkgs/development/libraries/nuspell/wrapper.nix new file mode 100644 index 00000000000..4386542ff20 --- /dev/null +++ b/pkgs/development/libraries/nuspell/wrapper.nix @@ -0,0 +1,13 @@ +{ stdenv, lib, nuspell, makeWrapper, dicts ? [] }: +with lib; +let + searchPath = makeSearchPath "share/hunspell" dicts; +in +stdenv.mkDerivation { + name = (appendToName "with-dicts" nuspell).name; + buildInputs = [ makeWrapper ]; + buildCommand = '' + makeWrapper ${nuspell}/bin/nuspell $out/bin/nuspell --prefix DICPATH : ${searchPath} + ''; + meta = removeAttrs nuspell.meta ["outputsToInstall"]; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 01dccadd3b9..3c5cea676c3 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11773,6 +11773,9 @@ in ntrack = callPackage ../development/libraries/ntrack { }; + nuspell = callPackage ../development/libraries/nuspell { }; + nuspellWithDicts = dicts: callPackage ../development/libraries/nuspell/wrapper.nix { inherit dicts; }; + nv-codec-headers = callPackage ../development/libraries/nv-codec-headers { }; nvidia-texture-tools = callPackage ../development/libraries/nvidia-texture-tools { }; @@ -23304,4 +23307,5 @@ in newlibCross = callPackage ../development/misc/newlib { stdenv = crossLibcStdenv; }; + }