depot/third_party/nixpkgs/pkgs/servers/search/groonga/default.nix
Default email 2c76a4cb41 Project import generated by Copybara.
GitOrigin-RevId: c757e9bd77b16ca2e03c89bf8bc9ecb28e0c06ad
2023-11-16 04:20:00 +00:00

54 lines
1.6 KiB
Nix

{ lib, stdenv, fetchurl, autoreconfHook, mecab, kytea, libedit, pkg-config, libxcrypt
, suggestSupport ? false, zeromq, libevent, msgpack, openssl
, lz4Support ? false, lz4
, zlibSupport ? true, zlib
}:
stdenv.mkDerivation rec {
pname = "groonga";
version = "12.0.7";
src = fetchurl {
url = "https://packages.groonga.org/source/groonga/${pname}-${version}.tar.gz";
sha256 = "sha256-Eaei4Zi0Rg9zu7DInLAcaRo8Fyu2mqBblcYNRaS46c8=";
};
preConfigure = ''
# To avoid problems due to libc++abi 11 using `#include <version>`.
rm version
'';
buildInputs = with lib;
[ mecab kytea libedit openssl libxcrypt ]
++ optional lz4Support lz4
++ optional zlibSupport zlib
++ optionals suggestSupport [ zeromq libevent msgpack ];
nativeBuildInputs = [ autoreconfHook pkg-config ];
configureFlags = with lib;
optional zlibSupport "--with-zlib"
++ optional lz4Support "--with-lz4";
env = lib.optionalAttrs stdenv.cc.isClang {
# Prevent warning about using a GNU extension from being promoted to an error.
NIX_CFLAGS_COMPILE = "-Wno-error=gnu-folding-constant";
};
doInstallCheck = true;
installCheckPhase = "$out/bin/groonga --version";
meta = with lib; {
homepage = "https://groonga.org/";
description = "An open-source fulltext search engine and column store";
license = licenses.lgpl21;
maintainers = [ maintainers.ericsagnes ];
platforms = platforms.unix;
longDescription = ''
Groonga is an open-source fulltext search engine and column store.
It lets you write high-performance applications that requires fulltext search.
'';
};
}