I’m trying to build OpenDDS, the issue comes from how to build it’s dependencies; it relies on GitHub - DOCGroup/ACE_TAO: ACE and TAO, which uses GitHub - DOCGroup/MPC: MPC (The Makefile, Project, and Workspace Creator) to build it. OpenDDS’ cmake script deals with all this which I’d very much like to use, the issue being nix’s sandbox won’t let cmake download the dependencies. Is there a way to predownload them (I tried with git submodules) and pass those directories to OpenDDS’ cmake call? The following (with submodules) got further but ACE_TAO’s configuration step involves editing files in the source directory, which nix causes a permission denied error (presumably because of the sandoxing as well?).
I’m working out of a flake for now trying to get this to work.
{
description = "Dev environment";
inputs = {
flake-utils.url = "github:numtide/flake-utils";
};
outputs = { self, nixpkgs, flake-utils }:
flake-utils.lib.eachDefaultSystem (system:
let
pkgs = (import nixpkgs) {
inherit system;
};
in
{
defaultPackage = pkgs.stdenv.mkDerivation {
name = "OpenDDS";
src = ./.;
cmakeFlags = [
"-DOPENDDS_ACE_TAO_SRC=${./.}/ACE_TAO"
"-DOPENDDS_MPC=${./.}/MPC"
];
nativeBuildInputs = with pkgs; [
perl
cmake
];
};
}
);
}
Is someone able to help package this, I’m not sure how to get this done?