* Add some more useful stuff to the shell environment, so it actually works for debugging & post-mortem analysis. * Wrap ccache & distcc transparently (distcc will be used unless NODISTCC is set to a non-empty value in the environment; ccache will be used if CCACHE_DIR is not empty). * Package the Scylla Python driver (instead of the C* one). * Catch up to misc build/test requirements (including optional) by requiring or custom-packaging: wasmtime 0.29.0, cxxbridge, pytest-asyncio, liburing. * Build statically-linked zstd in a saner and more idiomatic fashion. * In pure builds (where sources lack Git metadata), derive SCYLLA_RELEASE from source hash. * Refactor things for more parameterization. * Explicitly stub out installPhase (seeing that "nix build" succeeds up to installPhase means we didn't miss any dependencies). * Add flake support. * Add copious comments. Signed-off-by: Michael Livshin <michael.livshin@scylladb.com>
31 lines
471 B
Nix
31 lines
471 B
Nix
# Copyright (C) 2021-present ScyllaDB
|
|
#
|
|
|
|
#
|
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
|
|
args:
|
|
|
|
import ./default.nix (args // {
|
|
shell = true;
|
|
|
|
devInputs = { pkgs, llvm }: with pkgs; [
|
|
# for impure building
|
|
ccache
|
|
distcc
|
|
|
|
# for debugging
|
|
binutils # addr2line etc.
|
|
elfutils
|
|
|
|
gdbWithGreenThreadSupport
|
|
|
|
llvm.llvm
|
|
lz4 # coredumps on modern Systemd installations are lz4-compressed
|
|
|
|
# etc
|
|
diffutils
|
|
colordiff
|
|
];
|
|
})
|