depot/third_party/nixpkgs/pkgs/servers/search/sonic-server/default.nix

54 lines
1.4 KiB
Nix
Raw Normal View History

{ lib
, rustPlatform
, llvmPackages
, clang
, fetchFromGitHub
}:
rustPlatform.buildRustPackage {
pname = "sonic-server";
version = "1.4.0";
src = fetchFromGitHub {
owner = "valeriansaliou";
repo = "sonic";
rev = "f5302f5c424256648ba0be32b3c5909d846821fe";
sha256 = "sha256-WebEluXijgJckZQOka2BDPYn7PqzPTsIcV2T380fxW8=";
};
cargoSha256 = "sha256-ObhKGjaIma6fUVUT3xadpy/GPYlnm0nKmRVxFmoePyQ=";
doCheck = false;
nativeBuildInputs = [
llvmPackages.libclang
llvmPackages.libcxxClang
clang
];
LIBCLANG_PATH = "${llvmPackages.libclang.lib}/lib";
BINDGEN_EXTRA_CLANG_ARGS = "-isystem ${llvmPackages.libclang.lib}/lib/clang/${lib.getVersion clang}/include";
postPatch = ''
substituteInPlace src/main.rs --replace "./config.cfg" "$out/etc/sonic/config.cfg"
'';
postInstall = ''
mkdir -p $out/etc/
mkdir -p $out/usr/lib/systemd/system/
install -Dm444 -t $out/etc/sonic config.cfg
substitute \
./examples/config/systemd.service $out/usr/lib/systemd/system/sonic-server.service \
--replace /bin/sonic $out/bin/sonic \
--replace /etc/sonic.cfg $out/etc/sonic/config.cfg
'';
meta = with lib; {
description = "Fast, lightweight and schema-less search backend";
homepage = "https://github.com/valeriansaliou/sonic";
license = licenses.mpl20;
platforms = platforms.unix;
maintainers = with maintainers; [ pleshevskiy ];
};
}