# 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-subsys, # xo-refcnt, # xo-randomgen, # xo-ordinaltree, # xo-flatstring, # xo-reflectutil, # xo-ratio, # xo-unit, # xo-pyunit, # xo-pyutil, # xo-reflect, # xo-pyreflect, # xo-printjson, # xo-pyprintjson, # xo-callback, # xo-webutil, # xo-pywebutil, # xo-reactor, # xo-pyreactor, # xo-simulator, # xo-pysimulator, xo-distribution, xo-pydistribution, xo-process, xo-pyprocess, xo-statistics, xo-kalmanfilter, # xo-pykalmanfilter, xo-websock, xo-pywebsock, xo-tokenizer, # xo-expression, xo-pyexpression, 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-pyutil # xo-flatstring # xo-reflectutil # xo-reflect # xo-pyreflect # xo-ratio # xo-unit # xo-pyunit # xo-expression # xo-pyexpression # xo-tokenizer # xo-reader # xo-jit # xo-pyjit # 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 ]; }