xo-alloc/pkgs/xo-userenv.nix

116 lines
2.1 KiB
Nix

# builds environment with all xo packages,
# using combined output directory for each.
#
# parallels github actions build on stock ubuntu,
# except that we use nixpkgs for toolchain
#
# For xo development, probably prefer xo-userenv.nix instead of this xo-userenv-slow.nix:
# 1. xo-userenv.nix allows parallel build
# 2. xo-userenv.nix only rebuilds xo packages that have changed
{
# nixpkgs dependencies
buildEnv,
stdenv,
cmake,
catch2,
eigen,
libwebsockets,
jsoncpp,
doxygen,
sphinx,
python3Packages,
# xo dependencies
xo-cmake,
xo-indentlog,
xo-refcnt,
xo-subsys,
xo-randomgen,
xo-ordinaltree,
xo-flatstring,
xo-pyutil,
xo-reflectutil,
xo-reflect,
xo-pyreflect,
xo-ratio,
xo-unit,
xo-pyunit,
#
xo-callback,
xo-webutil,
xo-pywebutil,
xo-printjson,
xo-pyprintjson,
xo-reactor,
xo-pyreactor,
xo-websock,
xo-pywebsock,
#
xo-statistics,
xo-distribution,
xo-pydistribution,
xo-simulator,
xo-pysimulator,
xo-process,
xo-pyprocess,
xo-kalmanfilter,
xo-pykalmanfilter,
#
xo-expression,
xo-pyexpression,
xo-tokenizer,
xo-reader,
xo-jit,
xo-pyjit
# other args
# someconfigurationoption ? false
} :
buildEnv {
name = "xo-userenv";
paths = [ xo-cmake
xo-indentlog
xo-refcnt
xo-subsys
xo-randomgen
xo-ordinaltree
xo-flatstring
xo-pyutil
xo-reflectutil
xo-reflect
xo-pyreflect
xo-ratio
xo-unit
xo-pyunit
#
xo-callback
xo-webutil
xo-pywebutil
xo-printjson
xo-pyprintjson
xo-reactor
xo-pyreactor
xo-websock
xo-pywebsock
#
xo-statistics
xo-distribution
xo-pydistribution
xo-simulator
xo-pysimulator
xo-process
xo-pyprocess
xo-kalmanfilter
xo-pykalmanfilter
#
xo-expression
xo-pyexpression
xo-tokenizer
xo-reader
xo-jit
xo-pyjit
];
}