54 lines
1.4 KiB
Nix
54 lines
1.4 KiB
Nix
|
{ 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 ];
|
||
|
};
|
||
|
}
|