This commit is contained in:
Rongsong Shen 2025-11-05 16:50:23 +08:00
parent c28b44152f
commit c9b5820d80
3 changed files with 48 additions and 19 deletions

View file

@ -16,7 +16,7 @@ let
uem = callPackage ./pkgs/u/uem/package.nix { uem = callPackage ./pkgs/u/uem/package.nix {
pkgs = pkgs; pkgs = pkgs;
}; };
cetcd = callPackage ./pkgs/cetcd/package.nix {}; cetcd = callPackage ./pkgs/c/cetcd/package.nix {};
in in
{ {
xbuild = xbuild; xbuild = xbuild;

View file

@ -6,19 +6,28 @@
... ...
}: }:
stdenv.mkDerivation { let
pname = "cetcd"; pname = "cetcd";
version = "1.0.0"; version = "1.0.0";
meta = with lib; {
description = "c binding of etcd client api";
homepage = "https://github.com/shafreeck/cetcd";
license = lib.license.apsl20;
};
in
stdenv.mkDerivation {
pname = pname;
version = version;
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "shen390s"; owner = "shen390s";
repo = "cetcd"; repo = "cetcd";
rev = "master"; rev = "master";
# sha256 = "sha256-9dzSc3w+yxYzsF/rZe3qIarKOpjt2zvIyjuS5FXngIM="; sha256 = "sha256-BTJXrJyjPp5ynHH5Ct91PFiWATzBal4rsnX84wJ0nCg=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
pkgs.make pkgs.gnumake
pkgs.curl pkgs.curl
pkgs.pkg-config pkgs.pkg-config
pkgs.yajl pkgs.yajl
@ -37,4 +46,21 @@ stdenv.mkDerivation {
make install prefix=$out make install prefix=$out
runHook postInstall runHook postInstall
''; '';
postInstall = ''
mkdir -p $out/lib/pkgconfig
cat >$out/lib/pkgconfig/cetcd.pc <<EOF
prefix=$out
exec_prefix=\''${prefix}
libdir=$out/lib
includedir=\''${prefix}/include
Name: ${pname}
Description: ${meta.description}
Version: ${version}
Libs: -L\''${libdir} -lcetcd
Cflags: -I\''${includedir}
EOF
'';
} }

View file

@ -30,23 +30,26 @@ stdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = [ pkgs.roswell ]; nativeBuildInputs = [ pkgs.roswell ];
doCheck = true; doCheck = true;
configurePhase = ''
mkdir -p .roswell
cat >.roswell/init.lisp <<EOF
(format nil "Hell,world~%")
;;(push "$src" asdf:*central-registry*)
EOF
'';
buildPhase = '' buildPhase = ''
set +e set +e
export HOME=/build set -x
env cat .roswell/init.lisp
ros version ros setup
# find /build/.roswell
# echo running
sh -x ros version
find . find .
mkdir -p $HOME/.roswell find /build/source
cat >$HOME/.roswell/init.lisp <<EOF # ros build $src/roswell/uem.ros
;; (ql:quickload 'asdf-driver) mkdir -p $out
(let ((cwd (parse-native-namestring (sb-posix:getcwd) cp .roswell/init.lisp $out
nil
*default-pathname-defaults*
:as-directory t)))
(push cwd
asdf:*central-registry*))
EOF
ros -l $HOME/.roswell/init.lisp build roswell/uem.ros
''; '';
}) })