-
-
Notifications
You must be signed in to change notification settings - Fork 15.4k
quartus: init at 19.1.0.670 #75561
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
quartus: init at 19.1.0.670 #75561
Conversation
This also adds a utility that silently eats chmod syscalls that set SUID/SGID bits. The installer insists on setting this on directories, which nix then causes to fail. Nix could in theory allow this, I think the action is safe on directories but I'm not sure it is possible to intercept the syscall, check arguments and then proceed in a way that does not produce a race condition (where a directory is replaced with a file after the check but before the operation takes place). |
Yes, it's very common to maintain while not having commit access. Please add yourself as a maintainer to the maintainers file and put that addition in a separate commit. Other then that and my 1 comment, LGTM. Just out of curiosity, is this your 1st contribution to Nixpkgs? It seems you have used advanced mechanisms to package this, similar to WolframAlpha's package.. Well done! |
ef5ac82
to
0b115a3
Compare
Thanks for the review! This isn't my first contribution to nixpkgs, but it's definitely my trickiest so far, open-source is generally much easier. I've added myself to the maintainers. |
Is it possible to have more than one executable in a FHS user environment? The |
Good question. I'm a fan myself of the command line tools that come with Quartus and I used them back when I was on Arch and I developed stuff for FPGA. It's a good question to ask on the forum. The main issue is that there's the 1 workaround I have in mind while thinking about it, is this: Create a wrapper script that will replace the current I hope you can imagine what I'm describing. From AFAIK this is a common practice for example with rustup - there's only 1 executable and it checks it's |
OK, I'll try and put something together. I'd like it to work with
I wouldn't consider this a blocker but it would be nice to fix. |
I'm glad you worked this out @kwohlfahrt! as for the other command line interface executables, could you perhaps just verify, as a start, that the command line tools listed here are runnable from inside the FHS env? You can test it by temporarily replacing the If they all work fine, I think we can work out together a way to make all of these executables available in the user's |
|
Good job @kwohlfahrt. There are many more executables it would be nice to check (e.g As for the modelsim error, see this suggested solution: https://bbs.archlinux.org/viewtopic.php?pid=1708875#p1708875 |
Is this ready for review? |
@Mic92 I have been using this package via the main GUI for a few months, it seems to be working OK. However, I have not tested many of the individual executables suggested above. Hoping to do so soon now I'm back from the holiday, so I don't mind deferring this until I have, but I also wouldn't object to merging this now and fixing any issues found later. |
@kwohlfahrt From my experience with the PRs culture in Nixpkgs, I think it'll be worth marking this as WIP untill it'll be fully ready. |
The following work:
|
I don't have an Intel account to download/test this but would merge this pull request if somebody else was able to launch the GUI i.e. @doronbehar |
This nix expression requires that ${name} is already part of the store. | ||
Download it from ${meta.homepage} and add it to the nix store with: | ||
|
||
nix-prefetch-url <URL> |
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.
BTW I'd suggest adding here that it can also be done via nix-store --add <file>
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.
Sure, is there any reason for preferring one over the other? Going to hold off on making any changes until we get the hash issue sorted out though.
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.
I've removed the custom message. The default message now suggests nix-store --add-fixed sha256
or nix-prefetch-url --type sha256 file://path/to
.
I thought up until now I'll need a paid license in order to test this but it seems it's supposed to be possible to download the what's called "standard" edition of the I downloaded these
|
@kwohlfahrt can you confirm the different checksums? |
Sorry, missed the previous comment. I get the following checksums for the
I notice the hash part of the path from Additionally, |
@doronbehar can you re-check? |
I got rid of the custom message. Note that Regarding
I assume this occurs if This is also my reasoning for splitting out the ModelSim package - these overridden won't be available from the Nix cache, and I would prefer to use the up-to-date libraries where they don't cause issues. PS - I didn't summon the extra reviewers, that happened automatically. |
I think I got |
@kwohlfahrt Well done for finding out about
When building the derivation, I got no error as for the ModelSim setup Here are the files I have in my
|
I don't think it's that bad, but other reviewers may have a stronger say on this then I :) |
# This seems ugly - can we override `libpng = libpng12` for all `pkgs`? | ||
freetype = pkgs.freetype.override { libpng = libpng12; }; | ||
fontconfig = pkgs.fontconfig.override { inherit freetype; }; | ||
libXft = pkgs.xorg.libXft.override { inherit freetype fontconfig; }; |
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.
I think it is possible to apply overlays with overrideScope
. I do not have concrete code to do that though.
It is acceptable overlays might add more complexity than this. |
There is a drop-down menu at the top of the download page, where you can select between "Pro", "Standard" and "Lite" downloads, above the release option. This should be set to "Lite", the "Standard" option results in the "QuartusLiteSetup-${version}.run". This URL should set it appropriately: https://fpgasoftware.intel.com/19.1/?edition=lite&platform=linux |
@kwohlfahrt Could you add this as a comment or in the error message? |
This requires a FHSUserEnv because the licensing executable checksums itself (I think). The override of libpng is a bit ugly, can this be cleaned up?
Done - I modified the URL to include the edition and version. I also changed the name of the package to |
@expipiplus1 I guess Intel has cleaned it up :) |
\o/ Thanks, can't wait to try this out. Anyone reading might also be interested in @bjornfor's quartus packaging: https://github.com/bjornfor/nixos-config/blob/master/pkgs/altera-quartus/default.nix |
@expipiplus1 you can try right away by running |
Quartus is in nixpkgs master? Nice! |
@kwohlfahrt would it be possible to add the nios2 eclipse stuff as an optional component? its a manual install. I tried my hand at it but I didn't get far... |
@meck I'm not currently planning to work on the eclipse integration. I haven't used eclispe before, and the instructions linked call for a very old version of eclipse that might be a lot of effort to get working. |
Thats resonable, thanks anyway! |
Motivation for this change
Add Quartus Prime software for programming Intel FPGAs. There are unfortunately no open-source alternatives.
Things done
sandbox
innix.conf
on non-NixOS linux)nix-shell -p nix-review --run "nix-review wip"
./result/bin/
)nix path-info -S
before and after)Notify maintainers
This is a new package - should i add myself as a maintainer, even though I don't have commit access to nixpkgs?