From ca55060ac651471fffc39aa6d845c7eede2b72a5 Mon Sep 17 00:00:00 2001 From: Jade Lovelace Date: Tue, 15 Oct 2024 15:47:00 -0700 Subject: packaging: use in-tree capnproto derivation This is done because the one in nixpkgs has several problems and we don't want to conflict with them fixing those problems: - not building shared libs - not building debuginfo (more critical for us due to https://git.lix.systems/lix-project/lix/issues/549) - not setting the correct cmake build type - not setting the correct cxxflags to build the coroutine library - not building with clang (required for the coroutine library since gcc is known to miscompile coroutines *in kj*). CC: https://git.lix.systems/lix-project/lix/issues/551 Fixes: https://git.lix.systems/lix-project/lix/issues/550 Change-Id: Ia5b78dc1809963fdd1a8203b127a216cb575d751 --- package.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'package.nix') diff --git a/package.nix b/package.nix index 4bce7cb5e..39ecea714 100644 --- a/package.nix +++ b/package.nix @@ -16,7 +16,6 @@ bzip2, callPackage, capnproto-lix ? __forDefaults.capnproto-lix, - capnproto, cmake, curl, doxygen, @@ -106,8 +105,9 @@ 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; }; }, }: @@ -449,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 -- cgit v1.2.3