-
-
Notifications
You must be signed in to change notification settings - Fork 14.4k
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
Fix Julia packages with binary blobs failures and add withPackages
attribute
#210685
Fix Julia packages with binary blobs failures and add withPackages
attribute
#210685
Conversation
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.
Overall promising, a bit skeptical about the dependency handling part.
e3de6d7
to
a52e413
Compare
a52e413
to
f57a11e
Compare
f57a11e
to
654cdad
Compare
Hey, thanks for another try! It seems like Additionally what is the intended way to loag a custom env julia-bin.withPackages
(ps: [ ps.Plots ] ++ (map fixpkgs
(import ./env.nix {juliaPkgs = ps; inherit fetchurl; }))) does not seem to work as dependencies only in the env seem to be unavailable. |
You call it like this |
Ah sorry I am just so used to -- being able to separate the "rest" of the options. |
I don't know if this is accepted in nix, but maybe something like let
fixpkgs = pkgs: ...
inherit (julia-bin.juliaPackages) juliaPackagesFromList buildJuliaPackage;
juliaPkgs = juliaPackagesFromList (map fixpkgs juliaPkgsList);
juliaPkgsList = import ./env.nix { inherit juliaPkgs fetchurl; };
in julia-bin.withPackages (ps: (lib.mapAttrsToList (name: val: val) juliaPkgs)) but as this works in someway I am already happy. Also I don't understand what triggers the precompiler sometimes it works and sometimes it does not for no apparent reason (and for the same packages no less). home.file.".julia" = {
# HACK seems to enhance the chance of precompilation being picked up
source = "${julia}/share/julia";
recursive = true;
}; precompilation seems to not happen at all. Maybe julia gets confused if some directories exists in |
654cdad
to
0267785
Compare
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/prs-ready-for-review/3032/1761 |
b07395b
to
9156b72
Compare
Sorry for the incremental changes. I used the new "Add to batch commit" feature, but then didn't realize that I didn't commit all of them... |
would be glad if anyone with commit access could comment on what's missing to get this merged (apart from fixing the rl-2305 conflict). |
I have nothing against this. cc @GTrunSec (an active julia user) for a review. |
- Add 'withPackages' and 'juliaPackages' passthru attributes to 'julia_16-bin', 'julia_18-bin', 'julia-bin' and 'julia-stable-bin'. - The 'withPackages' function creates an environment for the Julia compiler with additional packages. - 'build-julia-package.nix' is used to compile Julia packages and artifacts. - We provide a FHS environment to the julia compiler to make native packages with binary artifacts work. - Add julia2nix to facilitate importing of Julia packages into nixpkgs.
Co-authored-by: Sandro <[email protected]>
9156b72
to
331a96c
Compare
ZHF: #230712 |
I am travelling right now so i can not check in detail, but it might be that there is no graphical environment available in the ofborg script making plots fail.
…On 13 May 2023 12:33:49 CEST, fedeinthemix ***@***.***> wrote:
Not sure why ofbor-eval-package-list-no-aliases fails. The package producing the error works on my system
![image](https://github.com/NixOS/nixpkgs/assets/7670450/2f4dc6cd-b20f-42ae-9b16-71103cec2a46)
--
Reply to this email directly or view it on GitHub:
#210685 (comment)
You are receiving this because you were mentioned.
Message ID: ***@***.***>
|
I don't think this is the issue: the evaluation was successful until yesterday when I fixed two merge conflicts
+ julia_19-bin = wrapJulia (callPackage ../development/compilers/julia/1.9-bin.nix { }); Also, there's no plot involved in the evaluation. Can it be a false failure? |
I don't believe so, let's try again. @ofborg eval |
I've found out that |
Result of 2 packages blacklisted:
1 package failed to build:
7 packages built:
|
Seems like not ready yet, also, please fix the title and ensure you follow CONTRIBUTING for commit messages. |
Result of 4 packages marked as broken and skipped:
|
Result of 5 packages marked as broken and skipped:
|
closing in favor of #225513 |
Description of changes
Currently many Julia packages installed with the native package manager
Pkg
fail to work. In this PR we fix this bywithPackages
passthru attribute. A utilityjulia2nix
is also added to facilitate adding packages to nixpkgs.buildFHSUserEnv
thereby providing the interpreter in the expected location and defining some required environment variables.Things done
sandbox = true
set innix.conf
? (See Nix manual)nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)nixos/doc/manual/md-to-db.sh
to update generated release notes@ninjin @7c6f434c @NickCao @benneti @pasqui23 @florianjacob @mayl @schlichtanders