Skip to content
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

julia_10: rewrite #103783

Merged
merged 1 commit into from Nov 17, 2020
Merged

julia_10: rewrite #103783

merged 1 commit into from Nov 17, 2020

Conversation

doronbehar
Copy link
Contributor

Don't use ./shared.nix as it's not shared anymore.
Fix tests with an upstream patch and a few commands in postPatch.
Assert that blas and lapack are compatible.
Rename utf8proc patch.

Motivation for this change

#91930 - Get an abandoned commit from #98043 .

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.

@7c6f434c
Copy link
Member

Maybe enable aarch64, like I pushed for julia_15 before squashing?

dontUseCmakeConfigure = true;

# We assert that compatible blas and lapack are used.
buildInputs = assert (blas.isILP64 == lapack.isILP64); [
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is this assert here, rather than at the top where asserts are usually found?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good question. It might be a bit hard to explain: #94892 (comment)

@doronbehar
Copy link
Contributor Author

Maybe enable aarch64, like I pushed for julia_15 before squashing?

Did @Lucus16 or anyone else tested the expression on aarch64? I didn't even do it for x86_64 😅 .

@7c6f434c
Copy link
Member

7c6f434c commented Nov 15, 2020 via email

@7c6f434c
Copy link
Member

By the way, 1.5 built on my handheld overnight and at least starts and does basic things.

@doronbehar
Copy link
Contributor Author

Enabled aarch64 in the last push.

homepage = "https://julialang.org/";
license = stdenv.lib.licenses.mit;
maintainers = with stdenv.lib.maintainers; [ raskin rob garrison ];
platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ];
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Adding aarch64-linux also requires a change in meta.platforms

@doronbehar
Copy link
Contributor Author

doronbehar commented Nov 16, 2020 via email

or (throw "unsupported architecture: ${arch}");
# Julia requires Pentium 4 (SSE2) or better
cpuTarget = { x86_64 = "x86-64"; i686 = "pentium4"; }.${arch}
or (throw "unsupported architecture: ${arch}");
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And now aarch64 is missing here, am I right?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you are right. But IDK what to put here, reading: https://github.com/JuliaLang/julia/tree/v1.0.4#architecture-customization .

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

First of all these are not even gcc options (apparently llc, but I am not sure there are no catches)…

@7c6f434c
Copy link
Member

7c6f434c commented Nov 16, 2020 via email

Don't use ./shared.nix as it's not shared anymore.
Fix tests with an upstream patch and a few commands in postPatch.
Assert that blas and lapack are compatible.
Rename utf8proc patch.
@doronbehar
Copy link
Contributor Author

I would put the same as in 1.5, then see whether ofborg complains…

Good idea. Done now.

Comment on lines +206 to +212
meta = {
description = "High-level performance-oriented dynamical language for technical computing";
homepage = "https://julialang.org/";
license = stdenv.lib.licenses.mit;
maintainers = with stdenv.lib.maintainers; [ raskin rob garrison ];
platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" "aarch64-linux" ];
};
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
meta = {
description = "High-level performance-oriented dynamical language for technical computing";
homepage = "https://julialang.org/";
license = stdenv.lib.licenses.mit;
maintainers = with stdenv.lib.maintainers; [ raskin rob garrison ];
platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" "aarch64-linux" ];
};
meta = with stdenv.lib; {
description = "High-level performance-oriented dynamical language for technical computing";
homepage = "https://julialang.org/";
license = licenses.mit;
maintainers = with maintainers; [ raskin rob garrison ];
platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" "aarch64-linux" ];
};

pcre2.dev blas lapack openlibm openspecfun readline utf8proc
zlib
]
++ stdenv.lib.optionals stdenv.isDarwin [CoreServices ApplicationServices]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
++ stdenv.lib.optionals stdenv.isDarwin [CoreServices ApplicationServices]
++ stdenv.lib.optionals stdenv.isDarwin [ CoreServices ApplicationServices ]

@7c6f434c 7c6f434c merged commit 8e5f885 into NixOS:master Nov 17, 2020
@doronbehar doronbehar deleted the pkg/julia/lts branch March 2, 2023 10:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants