-
Notifications
You must be signed in to change notification settings - Fork 18k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Nix build system for ardupilot #24178
base: master
Are you sure you want to change the base?
Conversation
Hey a nix build! Nice. I have some scraps of nix in my local ardupilot, but it was left unfinished. One of the issues I ran into was that not all of the python packages have nix packages. I ended up trying to use defaultPackage = forAllSystems (system: pkgs: mach-nix.lib."${system}".mkPython {
requirements = ''
flake8
future
geocoder
intelhex
lxml
MAVProxy
pexpect
pygame
pymavlink
'';
}); |
To accept this it would need to be tucked away somewhere innocuous - I'm concerned by an out-sized maintenance burden for this vs the number of people likely to use it. The encoding of paths, locations, git hashes and various other bits and pieces in here looks like serious headache. @gsubmarine do you really want to push for this to go in? I have reservations, but @magicrub seems to be OK with the concept. I can take this to a DevCall to see what other people think about it if you'd like (not that I seriously understand the benefits this would bring to the project, mind you) - I can really only understand the drawbacks from the PR :-) |
Hey @peterbarker :) Happy to clean it up and tuck it away. Agree the patch is gross, i wish there was another way! Here's my case for pushing forward --
Let me know if you're ok with it and i'll add a commit to tuck it away in Tools/nix. Thanks for support @magicrub. |
Tools/nix/ardupilot-firmware.nix
Outdated
python | ||
pkgs.git | ||
pkgs.rsync | ||
pkgs.gcc-arm-embedded |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That isn't our toolchain
Tools/nix/ardupilot-firmware.nix
Outdated
pkgs.rsync | ||
pkgs.gcc-arm-embedded | ||
pkgs.gcc_multi | ||
pkgs.wafHook |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
? Not need
bld.add_post_fun(_post_fun) | ||
|
||
def _git_head_hash(ctx, path, short=False): | ||
+ return "2388afcd" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That is wrong, fix the build environment to build correctly...
Tools/result
Outdated
@@ -0,0 +1 @@ | |||
/nix/store/qciia3l1kmjq5y8mdnsxqypxgqcgk9zs-ardusim |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems files to add to gitignore
…usim to side branch with linux build patch
name = "ardusim"; | ||
src = builtins.fetchGit { | ||
url = "https://github.com/gsubmarine/ardupilot.git"; | ||
rev = "45c9dad0e5f0868423c9853570039798897b1aec"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Need to point to this side branch until this fix goes in: #29121
No description provided.