Files
scylladb/shell.nix
Michael Livshin 7bd13be3f2 build: improvements & upgrades to Nix dev environment
* 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>
2022-10-02 11:47:16 +03:00

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
];
})