diff --git a/ci.nix b/ci.nix index a7b8b6a2..fb0c730f 100644 --- a/ci.nix +++ b/ci.nix @@ -35,6 +35,7 @@ in xo-numeric xo-tokenizer2 xo-expression2 + xo-reader2 xo-allocutil xo-alloc xo-ratio diff --git a/pkgs/xo-reader2.nix b/pkgs/xo-reader2.nix new file mode 100644 index 00000000..7067c4a8 --- /dev/null +++ b/pkgs/xo-reader2.nix @@ -0,0 +1,43 @@ +{ + # nixpkgs dependencies + lib, stdenv, cmake, catch2, + + # xo dependencies + xo-numeric, + xo-procedure2, + xo-type, + xo-expression2, + xo-tokenizer2, + xo-gc, + xo-subsys, + xo-cmake, + + # config arguments + doCheck ? true +} : + +stdenv.mkDerivation (finalattrs : + { + name = "xo-expression2"; + + src = ../xo-expression2; + + cmakeFlags = ["-DCMAKE_MODULE_PATH=${xo-cmake}/share/cmake"] + ++ lib.optionals doCheck ["-DENABLE_TESTING=1"]; + + inherit doCheck; + + nativeBuildInputs = [ + cmake catch2 + xo-cmake + ]; + propagatedBuildInputs = [ + xo-numeric + xo-procedure2 + xo-type + xo-expression2 + xo-tokenizer2 + xo-gc + xo-subsys + ]; + }) diff --git a/shells.nix b/shells.nix index 7d563043..8078c94a 100644 --- a/shells.nix +++ b/shells.nix @@ -341,6 +341,7 @@ in numeric = pkgs.xo-numeric; tokenizer2 = pkgs.xo-tokenizer2; expression2 = pkgs.xo-expression2; + reader2 = pkgs.xo-reader2; allocutil = pkgs.xo-allocutil; alloc = pkgs.xo-alloc; diff --git a/xo-reader2/src/reader2/CMakeLists.txt b/xo-reader2/src/reader2/CMakeLists.txt index c2ba12e9..55aba46f 100644 --- a/xo-reader2/src/reader2/CMakeLists.txt +++ b/xo-reader2/src/reader2/CMakeLists.txt @@ -112,7 +112,4 @@ xo_dependency(${SELF_LIB} xo_gc) xo_dependency(${SELF_LIB} xo_type) xo_dependency(${SELF_LIB} xo_tokenizer2) xo_dependency(${SELF_LIB} xo_expression2) -#xo_dependency(${SELF_LIB} reflect) -#xo_dependency(${SELF_LIB} xo_flatstring) xo_dependency(${SELF_LIB} subsys) -#xo_dependency(${SELF_LIB} indentlog) diff --git a/xo.nix b/xo.nix index 454e4081..25dc826b 100644 --- a/xo.nix +++ b/xo.nix @@ -48,6 +48,7 @@ let xo-numeric = callPackage pkgs/xo-numeric.nix { stdenv = jitStdenv; }; xo-tokenizer2 = callPackage pkgs/xo-tokenizer2.nix { stdenv = jitStdenv; buildExamples = true; }; xo-expression2 = callPackage pkgs/xo-expression2.nix { stdenv = jitStdenv; }; + xo-reader2 = callPackage pkgs/xo-reader2.nix { stdenv = jitStdenv; }; xo-allocutil = callPackage pkgs/xo-allocutil.nix { stdenv = jitStdenv; }; xo-alloc = callPackage pkgs/xo-alloc.nix { stdenv = jitStdenv; buildDocs = true; }; xo-ratio = callPackage pkgs/xo-ratio.nix { stdenv = jitStdenv; buildDocs = true; buildExamples = true; };