diff --git a/default.nix b/default.nix index 258cf593..ee43faf2 100644 --- a/default.nix +++ b/default.nix @@ -142,6 +142,7 @@ let xo-facet = self.callPackage pkgs/xo-facet.nix {}; xo-allocutil = self.callPackage pkgs/xo-allocutil.nix {}; xo-alloc = self.callPackage pkgs/xo-alloc.nix {}; # buildDocs = true; + xo-alloc2 = self.callPackage pkgs/xo-alloc2.nix { buildDocs = true; }; xo-refcnt = self.callPackage pkgs/xo-refcnt.nix {}; xo-ordinaltree = self.callPackage pkgs/xo-ordinaltree.nix {}; xo-flatstring = self.callPackage pkgs/xo-flatstring.nix { buildDocs = true; buildExamples = true; }; @@ -489,6 +490,7 @@ in facet = pkgs.xo-facet; allocutil = pkgs.xo-allocutil; alloc = pkgs.xo-alloc; + alloc2 = pkgs.xo-alloc2; ordinaltree = pkgs.xo-ordinaltree; flatstring = pkgs.xo-flatstring; pyutil = pkgs.xo-pyutil; diff --git a/pkgs/xo-alloc2.nix b/pkgs/xo-alloc2.nix new file mode 100644 index 00000000..0ca4afee --- /dev/null +++ b/pkgs/xo-alloc2.nix @@ -0,0 +1,69 @@ +{ + # nixpkgs dependencies + lib, stdenv, cmake, catch2, + doxygen, + + python3Packages, + + sphinx, graphviz, + + # xo dependencies + xo-facet, + xo-randomgen, + xo-subsys, +# xo-callback, +# xo-unit, +# xo-reflect, +# xo-randomgen, +# xo-reflectutil, +# xo-indentlog, +# xo-allocutil, + xo-cmake, + + buildDocs ? false, + doCheck ? true, +} : + +stdenv.mkDerivation (finalattrs: + { + name = "xo-alloc2"; + + src = ../xo-alloc2; + + cmakeFlags = ["-DCMAKE_MODULE_PATH=${xo-cmake}/share/cmake"] + ++ lib.optionals buildDocs ["-DXO_ENABLE_DOCS=on"] + ++ lib.optionals doCheck ["-DENABLE_TESTING=1"]; + + inherit buildDocs; + inherit doCheck; + + postBuild = lib.optionalString buildDocs '' + cmake --build . -- docs + ''; + + nativeBuildInputs = [ + cmake + catch2 + xo-randomgen + xo-cmake + ] ++ lib.optionals buildDocs [ + doxygen + sphinx + graphviz + python3Packages.sphinx-rtd-theme + python3Packages.breathe + python3Packages.sphinxcontrib-ditaa + python3Packages.sphinxcontrib-plantuml + python3Packages.pillow + ]; + propagatedBuildInputs = [ + xo-facet + xo-subsys +# xo-callback +# xo-unit +# xo-reflect +# xo-allocutil +# xo-reflectutil +# xo-indentlog + ]; + })