This commit is contained in:
Rongsong Shen 2025-08-26 10:24:41 +08:00
parent 0e288ce0b1
commit adf4888d4a
4 changed files with 63 additions and 5 deletions

46
pkgs/c/capnpc/package.nix Normal file
View file

@ -0,0 +1,46 @@
{
lib,
stdenv,
fetchFromGitHub,
pkgs,
...
}:
stdenv.mkDerivation {
pname = "capnpc";
version = "1.0.1";
src = fetchFromGitHub {
owner = "shen390s";
repo = "c-capnproto";
rev = "master";
sha256 = "sha256-U+yUYYvfhPjvADtHsjN5LvOUzFEXZrTmmpqfypf/4Ik=";
};
nativeBuildInputs = [
pkgs.cmake
pkgs.ninja
pkgs.capnproto
];
preConfigure = ''
cp "$src/CMakePresets.json" .
'';
configurePhase = ''
cmake --preset=ci-linux_x86_64 -DBUILD_SHARED_LIBS=OFF -DBUILD_TESTING=OFF
'';
buildPhase = ''
cmake --build --preset=ci-tests
'';
installPhase = ''
mkdir -p $out/bin
mkdir -p $out/include
mkdir -p $out/lib
cp build/capnpc-c $out/bin
cp build/libCapnC_Runtime.a $out/lib
cp lib/capnp_c.h $out/include
'';
}

View file

@ -4,6 +4,7 @@
stdenv,
fetchFromGitHub,
pkgs,
mypkgs,
...
}:
@ -17,7 +18,7 @@ let
repo = "xbuild";
rev = "master";
# sha256 = "sha256-DLq7vC+4k2TMy5jKvQkFTy+xZmpvl0+DiWcd7CBVbgw=";
sha256 = "sha256-gYIYd3J4mCJJU0yJ+2xL/5URKo+M8T2Q9CWLbxQ2rtQ=";
sha256 = "sha256-DD/ErN13ydDwYV5BhF81dJEkDIx1bAFQccDKxjkF+qw=";
};
nativeBuildInputs = [
@ -52,6 +53,15 @@ let
pkgs.linux-pam
pkgs.libtirpc
pkgs.hwloc
pkgs.libuv
pkgs.readline
pkgs.openssl
pkgs.libcyaml
pkgs.libyaml
pkgs.elogind
pkgs.sqlite
pkgs.python3
mypkgs.capnpc
];
propagatedBuildInputs = [
@ -64,7 +74,7 @@ let
makeWrapper "$bin" "$out/bin/$(basename $bin)" \
--prefix PATH : ${pkgs.lib.makeBinPath wrapped_xbuild.buildInputs} \
--prefix PKG_CONFIG_PATH : ${pkgs.lib.makeSearchPathOutput "dev" "lib/pkgconfig" wrapped_xbuild.buildInputs} \
--set AUTO_DETECT_PKG_CONFIG_PATH no
--set AUTO_DETECT_PKG_CONFIG_PATH no
done
'';
};