continuwuity/nix/packages/default.nix
aviac 027f6a4b02
Some checks failed
Checks / Prek / Pre-commit & Formatting (push) Successful in 1m25s
Documentation / Build and Deploy Documentation (push) Successful in 1m35s
Release Docker Image / Build linux-arm64 (release) (push) Failing after 2m23s
Checks / Prek / Clippy and Cargo Tests (push) Successful in 9m52s
Release Docker Image / Build linux-amd64 (release) (push) Successful in 13m49s
Release Docker Image / Create Multi-arch Release Manifest (push) Has been skipped
Release Docker Image / Build linux-amd64 (max-perf) (push) Has been skipped
Release Docker Image / Build linux-arm64 (max-perf) (push) Has been skipped
Release Docker Image / Create Max-Perf Manifest (push) Has been skipped
Release Docker Image / Mirror Images (push) Has been skipped
feat(nix): allow override of RUSTFLAGS for certain features
- enabling the `http3` features requires unstable features, namely `reqwest_unstable`
- the main suggestion of cargo is to enable this through RUSTFLAGS
- we had no way to customize RUSTFLAGS, now we do
- changed the max-perf package to showcase this feature
- also turn on http3 by default in both max-perf and the default build
  (jade approved this)
2026-04-20 17:49:03 +00:00

34 lines
810 B
Nix

{
self,
...
}:
{
perSystem =
{
self',
pkgs,
craneLib,
...
}:
{
packages = {
rocksdb = pkgs.callPackage ./rocksdb.nix { };
default = pkgs.callPackage ./continuwuity.nix {
inherit self craneLib;
# extra features via `cargoExtraArgs`
cargoExtraArgs = "-F http3";
# extra RUSTFLAGS via `rustflags`
# the stuff below is required for http3
rustflags = "--cfg reqwest_unstable";
};
# users may also override this with other cargo profiles to build for other feature sets
#
# other examples include:
#
# - release-high-perf
max-perf = self'.packages.default.override {
profile = "release-max-perf";
};
};
};
}