From f948d14139f45ebe2cc07a4f9ab1a8f2b8349d5d Mon Sep 17 00:00:00 2001 From: Jonathan del Strother Date: Thu, 11 Aug 2022 16:14:31 +0100 Subject: [PATCH] manticoresearch: init at 5.0.3 --- .../search/manticoresearch/default.nix | 70 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 1 + 2 files changed, 71 insertions(+) create mode 100644 pkgs/servers/search/manticoresearch/default.nix diff --git a/pkgs/servers/search/manticoresearch/default.nix b/pkgs/servers/search/manticoresearch/default.nix new file mode 100644 index 000000000000..a2d77d03cc5c --- /dev/null +++ b/pkgs/servers/search/manticoresearch/default.nix @@ -0,0 +1,70 @@ +{ lib, stdenv, fetchFromGitHub, fetchurl +, bison, cmake, flex, pkg-config +, boost, icu, libstemmer, mariadb-connector-c, re2 +}: +let + columnar = stdenv.mkDerivation rec { + pname = "columnar"; + version = "c16-s5"; # see NEED_COLUMNAR_API/NEED_SECONDARY_API in Manticore's GetColumnar.cmake + src = fetchFromGitHub { + owner = "manticoresoftware"; + repo = "columnar"; + rev = version; + sha256 = "sha256-iHB82FeA0rq9eRuDzY+AT/MiaRIGETsnkNPCqKRXgq8="; + }; + nativeBuildInputs = [ cmake ]; + cmakeFlags = [ "-DAPI_ONLY=ON" ]; + meta = { + description = "A column-oriented storage and secondary indexing library"; + homepage = "https://github.com/manticoresoftware/columnar/"; + license = lib.licenses.asl20; + platforms = lib.platforms.all; + }; + }; +in +stdenv.mkDerivation rec { + pname = "manticoresearch"; + version = "5.0.3"; + + src = fetchFromGitHub { + owner = "manticoresoftware"; + repo = "manticoresearch"; + rev = version; + sha256 = "sha256-samZYwDYgI9jQ7jcoMlpxulSFwmqyt5bkxG+WZ9eXuk="; + }; + + nativeBuildInputs = [ + bison + cmake + flex + pkg-config + ]; + + buildInputs = [ + boost + columnar + icu.dev + libstemmer + mariadb-connector-c + re2 + ]; + + postPatch = '' + sed -i 's/set ( Boost_USE_STATIC_LIBS ON )/set ( Boost_USE_STATIC_LIBS OFF )/' src/CMakeLists.txt + + # supply our own packages rather than letting manticore download dependencies during build + sed -i 's/^with_get/with_menu/' CMakeLists.txt + ''; + + cmakeFlags = [ + "-DWITH_GALERA=0" + ]; + + meta = with lib; { + description = "Easy to use open source fast database for search"; + homepage = "https://manticoresearch.com"; + license = licenses.gpl2; + maintainers = with maintainers; [ jdelStrother ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 93554e795c6c..303ef79d2eed 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -20914,6 +20914,7 @@ with pkgs; boost = boost175; }; + manticoresearch = callPackage ../servers/search/manticoresearch { }; marisa = callPackage ../development/libraries/marisa {};