From e634e6222ed98b65f87c7c7db8b1ef196cc9361d Mon Sep 17 00:00:00 2001 From: Rongsong Shen Date: Fri, 5 Dec 2025 17:12:02 +0800 Subject: [PATCH] add struct2json --- default.nix | 4 ++++ flake.lock | 6 +++--- pkgs/s/struct2json/package.nix | 37 ++++++++++++++++++++++++++++++++++ 3 files changed, 44 insertions(+), 3 deletions(-) create mode 100644 pkgs/s/struct2json/package.nix diff --git a/default.nix b/default.nix index 2e174a8..38a8ea3 100644 --- a/default.nix +++ b/default.nix @@ -71,6 +71,9 @@ let pkgs = pkgs; }; cetcd = callPackage ./pkgs/c/cetcd/package.nix {}; + struct2json = callPackage ./pkgs/s/struct2json/package.nix { + pkgs = pkgs; + }; in { xbuild = xbuild; @@ -83,4 +86,5 @@ in cetcd = cetcd; libcello_debug = libcello_debug; packcc = packcc_main; + struct2json = struct2json; } diff --git a/flake.lock b/flake.lock index 171c4ba..cb8f9c1 100644 --- a/flake.lock +++ b/flake.lock @@ -20,11 +20,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1762111121, - "narHash": "sha256-4vhDuZ7OZaZmKKrnDpxLZZpGIJvAeMtK6FKLJYUtAdw=", + "lastModified": 1764667669, + "narHash": "sha256-7WUCZfmqLAssbDqwg9cUDAXrSoXN79eEEq17qhTNM/Y=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b3d51a0365f6695e7dd5cdf3e180604530ed33b4", + "rev": "418468ac9527e799809c900eda37cbff999199b6", "type": "github" }, "original": { diff --git a/pkgs/s/struct2json/package.nix b/pkgs/s/struct2json/package.nix new file mode 100644 index 0000000..fb57172 --- /dev/null +++ b/pkgs/s/struct2json/package.nix @@ -0,0 +1,37 @@ +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkgs, +}: + +let + meta = with lib; { + description = "convert c struct to json"; + homepage = "https://github.com/armink/struct2json"; + license = lib.licenses.mit; + platforms = lib.platforms.unix; + }; + pname = "struct2json"; + version = "1.0.0"; +in +stdenv.mkDerivation (finalAttrs: { + pname = pname; + version = version; + + src = fetchFromGitHub { + owner = "shen390s"; + repo = "struct2json"; + rev = "master"; + hash = "sha256-2J3JFrUc0FSX5U+vmyc5Ccmb7ONqiRprZj+QoRtwius="; + }; + + nativeBuildInputs = [ + pkgs.meson + pkgs.ninja + pkgs.pkgconf + ]; + + inherit meta; +})