-
-
Notifications
You must be signed in to change notification settings - Fork 14.1k
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
Mplab X IDE: init at 6.15 #301317
base: master
Are you sure you want to change the base?
Mplab X IDE: init at 6.15 #301317
Conversation
once this is merged remind me to close #291504 |
You can just put
Modules should be on top of the package itself, not a replacement. Right now, I would suggest to solve this with parameter attributes in An additional advantage is that it makes this package usable on non-NixOS-systems without additional work. How you implement this exactly depends on how many compilers there are, how big (in MB) each of them is compared to the base package and if there is a subset that is only rarely used. For example, sox has vim-full takes this a step further, by having a Another example would be neovim and its accompanying config, though I'm actually uncertain how (or if) the options there actually get to the package. |
BTW, new packages have to go into |
the error while trying to build with |
Excellent - thanks @nyadiia. Re. just showing as a white box on some systems, this sounds like it may be a Java issue common to some WMs (I've encountered it using i3 and sway). The workaround I've found effective is adding the following to my home.nix:
|
A comment/question on the packaging of the xc compilers -- as (somewhat unfortunately) owner of a couple of long-running xc16-based projects I've found it's often desirable not to track the latest version of the compiler due to regressions or breaking changes. For example between xc16 versions 1.61 and 1.70 the program memory footprint of one of our projects jumped from 89% to 96% of the available capacity of the target MCU. Similarly, due to comparative stability our production builds of bootloaders often use an older compiler version than the application firmware. Would it be practical to include a digest of compiler versions and installer checksums in the compiler packages and pass the required version as an option (defaulting to latest or something?). If there's anything I can do to help with testing or whatever, let me know. I've only started playing with nix recently and had vague intentions of trying to get my head around packaging to address this exact problem -- reliance on microchip tooling has kept me on an arch/nix/home-manager setup rather than nixos for now. |
i was thinking about something like this, like in the nixos module being able to change what version everything is but i wanted to do it in a more "nix way". these regressions are actually why i'm packaging 6.15 instead of 6.20 because the latter will not detect compilers ( even on a windows system ). passing in the version and hash seems like a good idea though, i'll see if i can try to implement that. |
Hey @nyadiia - finally got some time to poke at this a bit. Stole your draft packages and reworked them as an overlay here, for my own immediate gratification: All the heavy lifting is your own work, but did implement the multiple-versions-in-one-folder thing for xc16, which might be useful to you. |
Description of changes
This is an IDE for embedded devices and microcontrollers from the microchip brand. There are also the needed compilers in this.
Fixes #291504
Things done
mplabx-ide appears to work on the systems that I've tested it with ( including a fresh VM running xfce ) but for some reason it breaks on some other systems, just showing a white box ( elements still work but aren't displayed ). I also need to test this with actual hardware to see if the udev rules need to be implemented. Only the XC16 compiler is working right now ( the others should work fine, just copy paste ).
I would like to move this all into a module eventually so that the syntax looks something like
but I am unsure of how to do this atm.
nix.conf
? (See Nix manual)sandbox = relaxed
sandbox = true
nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)may have to squash commits
Add a 👍 reaction to pull requests you find important.