diff --git a/pkgs/servers/search/manticoresearch/default.nix b/pkgs/servers/search/manticoresearch/default.nix index 442ebe751b2..d7fe93a214b 100644 --- a/pkgs/servers/search/manticoresearch/default.nix +++ b/pkgs/servers/search/manticoresearch/default.nix @@ -11,17 +11,19 @@ , mariadb-connector-c , re2 , nlohmann_json +, testers +, manticoresearch }: let columnar = stdenv.mkDerivation (finalAttrs: { pname = "columnar"; - version = "c18-s6"; # see NEED_COLUMNAR_API/NEED_SECONDARY_API in Manticore's GetColumnar.cmake + version = "c21-s10"; # see NEED_COLUMNAR_API/NEED_SECONDARY_API in Manticore's cmake/GetColumnar.cmake src = fetchFromGitHub { owner = "manticoresoftware"; repo = "columnar"; rev = finalAttrs.version; - hash = "sha256-/HGh1Wktb65oXKCjGxMl+8kNwEEfPzGT4UxGoGS4+8c="; + hash = "sha256-TGFGFfoyHnPSr2U/9dpqFLUN3Dt2jDQrTF/xxDY4pdE="; }; nativeBuildInputs = [ cmake ]; cmakeFlags = [ "-DAPI_ONLY=ON" ]; @@ -32,16 +34,33 @@ let platforms = lib.platforms.all; }; }); + uni-algo = stdenv.mkDerivation (finalAttrs: { + pname = "uni-algo"; + version = "0.7.2"; + src = fetchFromGitHub { + owner = "manticoresoftware"; + repo = "uni-algo"; + rev = "v${finalAttrs.version}"; + hash = "sha256-+V9w4UJ+3KsyZUYht6OEzms60mBHd8FewVc7f21Z9ww="; + }; + nativeBuildInputs = [ cmake ]; + meta = { + description = "Unicode Algorithms Implementation for C/C++"; + homepage = "https://github.com/manticoresoftware/uni-algo"; + license = lib.licenses.mit; + platforms = lib.platforms.all; + }; + }); in stdenv.mkDerivation (finalAttrs: { pname = "manticoresearch"; - version = "6.0.4"; + version = "6.2.0"; src = fetchFromGitHub { owner = "manticoresoftware"; repo = "manticoresearch"; rev = finalAttrs.version; - hash = "sha256-enSK3hlGUtrPVA/qF/AFiDJN8CbaTHCzYadBorZLE+c="; + hash = "sha256-KmBIQa5C71Y/1oa3XiPfmb941QDU2rWo7Bl5QlAo+yA="; }; nativeBuildInputs = [ @@ -58,6 +77,7 @@ stdenv.mkDerivation (finalAttrs: { libstemmer mariadb-connector-c nlohmann_json + uni-algo re2 ]; @@ -66,7 +86,8 @@ stdenv.mkDerivation (finalAttrs: { # supply our own packages rather than letting manticore download dependencies during build sed -i 's/^with_get/with_menu/' CMakeLists.txt - sed -i 's/include(GetNLJSON)/find_package(nlohmann_json)/' CMakeLists.txt + sed -i 's/get_dep \( nlohmann_json .* \)/find_package(nlohmann_json)/' CMakeLists.txt + sed -i 's/get_dep \( uni-algo .* \)/find_package(uni-algo)/' CMakeLists.txt ''; cmakeFlags = [ @@ -76,9 +97,16 @@ stdenv.mkDerivation (finalAttrs: { "-DMYSQL_LIB=${mariadb-connector-c.out}/lib/mariadb/libmysqlclient.a" ]; + passthru.tests.version = testers.testVersion { + inherit (finalAttrs) version; + package = manticoresearch; + command = "searchd --version"; + }; + meta = { description = "Easy to use open source fast database for search"; homepage = "https://manticoresearch.com"; + changelog = "https://github.com/manticoresoftware/manticoresearch/releases/tag/${finalAttrs.version}"; license = lib.licenses.gpl2; mainProgram = "searchd"; maintainers = [ lib.maintainers.jdelStrother ];