-
-
Notifications
You must be signed in to change notification settings - Fork 15.3k
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
symbiyosys: add smt solver backends as optional deps #71402
Conversation
I personally feel like it's best to not do dependency injection for the solver backends, especially because a download or build of all of them is going to add a lot to the already large toolchain download (nextpnr might need splitting up when it gains Xilinx 7 Series support, as it's already a pretty large download). I used to have the toolchain injected into That said, I wouldn't mind too much depending on just |
Sounds good to me. Is there any downside to including the non-default solvers as optional deps defaulting to false? That way they're still wrapped up with the package, but won't add to build/download weight. |
I guess I mostly just don't see too much of a difference between |
You're right, it's minor. My preference here is that if I have a derivation that uses symbiyosys and then decide to remove it, it doesn't require that I remember to also remove boolector, which I only included in the first place because I was using symbiyosys. |
Sorry this has taken so long to get back to. My basic position is this: I agree with @emilazy here, and I think generally injecting all of these backends is probably not a good idea by default. However, I also agree there's a balance to be struct between "works out of the box" and "minimal closure size", and having symbiyosys work out of the box is desirable. Therefore, I'd like to see this PR simply add |
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.
(Putting on hold pending prior suggestions)
Symbioyosys requires at least smt solver backend to work out of the box.
6bbaf39
to
24783ce
Compare
@thoughtpolice I've adjusted the commit to reflect your suggestions. I completely agree with your reasoning. Also, thanks for the suggestion to use an outer derivation. I'd previously been using an overlay, but I like your solution better. |
@matthuszagh Thanks! Sorry again this took so long |
Motivation for this change
Symbioyosys requires at least one of these backends to provide useful functionality.
The super_prove backend has been omitted since it has not yet been packaged.
Things done
I've defaulted the dependencies to true, but let me know if it would be better to have these default to false. Yices is the default backend if we'd prefer to just default one of them to true.
sandbox
innix.conf
on non-NixOS)nix-shell -p nix-review --run "nix-review wip"
./result/bin/
)nix path-info -S
before and after)Notify maintainers
cc @