aboutsummaryrefslogtreecommitdiff
path: root/package.nix
diff options
context:
space:
mode:
Diffstat (limited to 'package.nix')
-rw-r--r--package.nix17
1 files changed, 12 insertions, 5 deletions
diff --git a/package.nix b/package.nix
index 2d485be93..39ecea714 100644
--- a/package.nix
+++ b/package.nix
@@ -16,7 +16,6 @@
bzip2,
callPackage,
capnproto-lix ? __forDefaults.capnproto-lix,
- capnproto,
cmake,
curl,
doxygen,
@@ -32,6 +31,8 @@
lix-clang-tidy ? null,
llvmPackages,
lsof,
+ # FIXME: remove default after dropping NixOS 24.05
+ lowdown-unsandboxed ? lowdown,
lowdown,
mdbook,
mdbook-linkcheck,
@@ -104,13 +105,14 @@
build-release-notes = callPackage ./maintainers/build-release-notes.nix { };
- # needs explicit c++20 to enable coroutine support
- capnproto-lix = capnproto.overrideAttrs { CXXFLAGS = "-std=c++20"; };
+ # needs derivation patching to add debuginfo and coroutine library support
+ # !! must build this with clang as it is affected by the gcc coroutine bugs
+ capnproto-lix = callPackage ./misc/capnproto.nix { inherit stdenv; };
},
}:
# gcc miscompiles coroutines at least until 13.2, possibly longer
-assert stdenv.cc.isClang || lintInsteadOfBuild || internalApiDocs;
+assert stdenv.cc.isClang;
let
inherit (__forDefaults) canRunInstalled;
@@ -253,7 +255,7 @@ stdenv.mkDerivation (finalAttrs: {
capnproto-lix
]
++ [
- (lib.getBin lowdown)
+ (lib.getBin lowdown-unsandboxed)
mdbook
mdbook-linkcheck
]
@@ -272,6 +274,10 @@ stdenv.mkDerivation (finalAttrs: {
++ lib.optionals lintInsteadOfBuild [
# required for a wrapped clang-tidy
llvmPackages.clang-tools
+ # load-bearing order (just as below); the actual stdenv wrapped clang
+ # needs to precede the unwrapped clang in PATH such that calling `clang`
+ # can compile things.
+ stdenv.cc
# required for run-clang-tidy
llvmPackages.clang-unwrapped
];
@@ -443,6 +449,7 @@ stdenv.mkDerivation (finalAttrs: {
editline-lix
build-release-notes
pegtl
+ capnproto-lix
;
# The collection of dependency logic for this derivation is complicated enough that