Files
nixpkgs/pkgs/by-name/ta/tarantool/package.nix
2026-07-12 11:05:04 +00:00

80 lines
1.4 KiB
Nix

{
lib,
stdenv,
fetchFromGitHub,
autoreconfHook,
cmake,
zlib,
openssl,
c-ares,
readline,
icu,
git,
gbenchmark,
nghttp2,
nix-update-script,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "tarantool";
version = "3.8.0";
src = fetchFromGitHub {
owner = "tarantool";
repo = "tarantool";
tag = finalAttrs.version;
hash = "sha256-X3Bqwt3HSFWr1klPtrIaE5jMAzFJO4mRcowWJCnqUac=";
fetchSubmodules = true;
};
postPatch = ''
cat <<'EOF' > third_party/luajit/test/cmake/GetLinuxDistro.cmake
macro(GetLinuxDistro output)
set(''${output} linux)
endmacro()
EOF
'';
buildInputs = [
nghttp2
git
readline
icu
zlib
openssl
c-ares
];
nativeCheckInputs = [ gbenchmark ];
nativeBuildInputs = [
autoreconfHook
cmake
];
preAutoreconf = ''
pushd third_party/libunwind
'';
postAutoreconf = ''
popd
'';
cmakeBuildType = "RelWithDebInfo";
cmakeFlags = [
"-DENABLE_DIST=ON"
"-DTARANTOOL_VERSION=${finalAttrs.version}.builtByNix" # expects the commit hash as well
];
passthru.updateScript = nix-update-script { extraArgs = [ "--use-github-releases" ]; };
meta = {
description = "In-memory computing platform consisting of a database and an application server";
homepage = "https://www.tarantool.io/";
license = lib.licenses.bsd2;
mainProgram = "tarantool";
maintainers = [ ];
};
})