Closed samuela closed 1 year ago
On Mon 17 May 2021, Samuel Ainsworth wrote:
Now that https://github.com/NixOS/nixpkgs/pull/123188 has landed, we have derivations for binary releases of julia versions 1.0.x and 1.6.x on x86_64-linux. It would be nice to expand platform support for these derivations, esp. for x86_64-darwin since that's what I have access to and use frequently.
I've taken a hacky first stab at this already: https://gist.github.com/samuela/257b66127bceffcc11453a6992a92d3d. Unfortunately, it gets hung up on test failures bc of nix's strict build environment:
From worker startup: ERROR: IOError: bind: operation not permitted (EPERM)
I'm honestly not sure what the fix for this is. Removing the patch here (https://gist.github.com/samuela/257b66127bceffcc11453a6992a92d3d#file-1-6-bin-nix-L29) doesn't make any difference.
If anyone has any ideas, please do let me know!
Agreed, x86_64-darwin
support should be a priority. However, I lack the hardware, software, and competence to be of much use. Thus I think what we need is someone that has all those three to step up, devise a patch, and add themselves as a maintainer.
Minor nitpick, this is not a bug. It is an enhancement request.
I'd be happy to invite you to build box access on my personal laptop for this purpose! I'll reach out over email. I took an initial stab at this so I'd be happy to contribute as well, just stuck on the Distributed errors currently.
I know that we have an arch build box for members of the community (https://github.com/nix-community/aarch64-build-box). Does something like this exist for x86_64-darwin? If not we should certainly set one up! IIUC @domenkozar is working on an organized initiative to better macOS support. Perhaps we could collaborate towards getting a machine set up somewhere?
The easiest is https://github.com/jtojnar/nixpkgs-fastmac
This issue has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/how-to-recreate-the-nix-build-sandbox/13378/1
This issue has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/need-special-build-of-nightly-julia-version/14504/4
I marked this as stale due to inactivity. → More info
I'd be interested in taking this on, but would like to suggest a new approach.
TL:DR; What if we didn't try to shoehorn in dependencies from nixpkgs, and just used BinaryBuilder as intended?
I read through the linked discourse threads, and it seems one of the main issues here is that Julia already uses its own tool for portable, reproducible builds called BinaryBuilder. It is explicitly disabled by the 1.8.nix file, and the 1.5.nix file even turns on SYSTEM library flags for most if not all of the dependencies. Interfering this deeply with Julia's build system is a recipe for disaster. And indeed:
I’ve have spent many hours trying to get Julia to build from source on nixos. It’s a rabbit hole. Don’t go down it if you can avoid it. - @samuela
But do we really need to skip BinaryBuilder? @ninjin doesn't seem to think so:
Building Julia on NixOS is a piece of cake if you allow yourself to use BinaryBuilder rather than try to build everything from source. Just grab my Julia fork with patches for NixOS and rebase it onto the latest Julia master and you should be good to go.
After cloning that and adding just three more lines, I successfully built and tested the whole package in a pure nix shell as the readme describes on my darwin-aarch64 machine.
Of course, there's now the question of reproducibility, as BinaryBuilder downloads its dependencies from https://cache.julialang.org during the build step. But this shouldn't be too much of an issue. Some of these dependencies are checksummed, most are pinned to a version. As this step is done in the very beginning and can be invoked separately with make julia-deps
, we could just make that a separate fixed-output derivation, let BinaryBuilder prepare all the dependencies julia expects and then build julia from those dependencies in a pure, reproducible derivation.
I mainly used this post as a brain-dump and will try to see if I can actually implement this with my limited knowledge of nix, but if anyone has feedback, I'd be happy to hear it.
Maybe I missed something very important here?
Hi @iFreilicht , I haven't been active in the Julia package for a few months now but IIUC that sounds like an appealing path forward IMHO! There's been a looming question of how to handle BinaryBuilder packages within Nix (https://github.com/NixOS/nixpkgs/issues/20649), and this kind of solution might allow us to "kill two birds with one stone." IIUC this sounds quite similar to how we currently handle bazel packages in Nix: stage 1 pulls dependencies using a fixed-output derivation, and stage two completes the source build based on the output of stage 1.
So yeah I'd say go for it -- sounds promising! @ninjin is a real pro with this stuff... I'd be curious to hear their thoughts as well?
Alright, it's looking pretty good, see linked PR. Everything builds and installs well, the final julia seems functional from the little bit of playing around I've done. Almost all tests are successful as well after the installPhase, but a few are failing:
Test Summary: | Pass Fail Error Broken Total Time
Overall | 40362695 5 1 352662 40715363 34m46.0s
LinearAlgebra/special | 2990 2990 1m38.4s
LinearAlgebra/qr | 4701 4701 1m43.9s
LinearAlgebra/bunchkaufman | 5688 5688 52.1s
LinearAlgebra/schur | 496 496 2m39.6s
LinearAlgebra/lapack | 803 803 49.1s
LinearAlgebra/eigen | 512 512 2m16.7s
LinearAlgebra/svd | 566 566 2m01.1s
LinearAlgebra/tridiag | 1581 1581 1m12.0s
LinearAlgebra/cholesky | 2509 2509 4m14.3s
LinearAlgebra/matmul | 1432 1432 9m08.2s
LinearAlgebra/lu | 1367 1367 1m51.5s
LinearAlgebra/dense | 8475 8475 11m02.6s
LinearAlgebra/uniformscaling | 446 446 1m23.2s
LinearAlgebra/generic | 596 1 597 1m40.2s
LinearAlgebra/bidiag | 4744 4744 9m36.0s
LinearAlgebra/lq | 2938 2938 1m22.0s
LinearAlgebra/hessenberg | 631 631 1m23.6s
LinearAlgebra/pinv | 500 500 5.6s
LinearAlgebra/givens | 1847 1847 2.2s
LinearAlgebra/adjtrans | 475 475 15.2s
LinearAlgebra/blas | 1631 1631 32.0s
LinearAlgebra/ldlt | 8 8 0.5s
LinearAlgebra/factorization | 80 16 96 2.4s
ambiguous | 105 2 107 2.8s
compiler/inference | 1203 2 1205 9.6s
compiler/effects | 191 191 1.0s
compiler/validation | 28 28 0.2s
compiler/ssair | 40 40 1.8s
compiler/irpasses | 110 2 112 1.2s
LinearAlgebra/structuredbroadcast | 670 670 29.8s
compiler/inline | 141 1 142 2.2s
LinearAlgebra/diagonal | 2881 2881 9m54.5s
compiler/contextual | 12 12 1.2s
compiler/AbstractInterpreter | 12 12 3.4s
compiler/codegen | 172 172 12.5s
compiler/EscapeAnalysis/interprocedural | 32 4 36 5.1s
compiler/EscapeAnalysis/local | 347 21 368 9.2s
strings/search | 876 876 4.6s
strings/basic | 87681 87681 11.7s
strings/io | 12764 12764 7.7s
strings/util | 1147 1147 18.2s
strings/types | 2302691 2302691 4.6s
unicode/utf8 | 19 19 1.2s
worlds | 88 88 3.2s
atomics | 3448 3448 19.1s
keywordargs | 151 151 2.5s
LinearAlgebra/triangular | 37894 37894 16m03.8s
subtype | 337723 20 337743 20.6s
char | 1628 1628 1.8s
triplequote | 29 29 0.4s
intrinsics | 306 306 4.4s
LinearAlgebra/symmetric | 2847 2847 7m26.6s
numbers | 1578882 2 1578884 1m20.4s
iobuffer | 209 209 2.5s
staged | 67 67 4.5s
hashing | 12519 12519 24.1s
core | 8445928 3 8445931 1m57.2s
dict | 144421 144421 36.8s
tuple | 626 626 15.0s
reduce | 8593 8593 36.7s
offsetarray | 505 3 508 1m05.9s
subarray | 318316 318316 3m52.9s
simdloop | 240 240 2.1s
intfuncs | 227928 227928 31.9s
vecelement | 678 678 8.6s
reducedim | 1089 6 1095 1m40.0s
copy | 556 556 4.4s
rational | 98639 1 98640 29.9s
fastmath | 946 946 6.9s
functional | 98 98 8.5s
math | 1910147 1910147 48.4s
arrayops | 2053 2 2055 2m55.5s
ordering | 37 37 3.3s
path | 373 12 385 2.1s
operators | 13047 13047 12.5s
parse | 16098 16098 3.9s
ccall | 165130 1 165131 27.8s
abstractarray | 55206 24795 80001 2m43.3s
gmp | 2358 2358 8.7s
loading | 150946 150946 37.9s
backtrace | 39 1 40 1.9s
exceptions | 70 70 4.1s
file | 1073 1073 10.3s
spawn | 252 4 256 24.1s
version | 2452 2452 2.1s
namedtuple | 216 216 5.0s
mpfr | 1137 1 1138 22.7s
read | 3872 3872 57.2s
complex | 8479 2 8481 14.6s
floatapprox | 49 49 1.1s
iterators | 86577 86577 2m55.8s
regex | 130 130 3.4s
reflection | 425 425 10.4s
float16 | 762093 762093 11.9s
sysinfo | 4 4 0.3s
env | 171 171 0.7s
combinatorics | 170 170 16.2s
rounding | 112720 112720 7.5s
mod2pi | 80 80 0.7s
euler | 12 12 2.3s
sorting | 16099 9 16108 2m45.8s
client | 5 5 4.3s
broadcast | 513 513 1m54.1s
errorshow | 236 1 237 14.7s
show | 128886 8 128894 53.3s
goto | 19 19 0.1s
llvmcall | 19 19 1.0s
llvmcall2 | 7 7 0.8s
some | 72 72 0.6s
ryu | 31215 31215 1.4s
meta | 69 69 1.0s
stacktraces | 48 48 1.7s
docs | 238 238 2.3s
binaryplatforms | 341 341 2.6s
bitarray | 940199 940199 5m06.1s
enums | 99 99 2.7s
atexit | 40 40 4.1s
sets | 3620 1 3621 25.3s
interpreter | 3 3 0.4s
int | 524698 524698 6.2s
bitset | 197 197 1.5s
ranges | 12110702 327683 12438385 1m17.2s
checked | 1239 1239 7.2s
error | 33 33 1.2s
boundscheck | None 3.6s
osutils | 43 43 0.3s
cartesian | 343 3 346 8.4s
iostream | 50 50 1.9s
secretbuffer | 27 27 1.6s
specificity | 175 175 0.2s
misc | 1282286 1282286 39.1s
reinterpretarray | 421 421 21.1s
syntax | 1612 1 1613 12.2s
corelogging | 233 233 2.7s
channels | 258 258 40.4s
smallarrayshrink | 36 36 0.4s
opaque_closure | 55 1 56 0.4s
filesystem | 6 6 0.3s
asyncmap | 307 307 9.7s
missing | 574 1 575 13.0s
download | None 5.4s
floatfuncs | 232 232 1m31.4s
LibGit2/online | 10 10 2.9s
cmdlineargs | 277 5 282 2m27.3s
Dates/accessors | 7723858 7723858 13.7s
Dates/adjusters | 3149 3149 5.3s
Dates/query | 1004 1004 1.1s
LibGit2/libgit2 | 758 758 1m12.9s
Dates/ranges | 350637 350637 15.0s
Dates/periods | 953 953 23.7s
Dates/rounding | 315 315 1.8s
Dates/types | 232 232 3.2s
SparseArrays/higherorderfns | 7145 1 7146 2m22.7s
Dates/conversions | 161 161 2.2s
Dates/io | 332 332 11.5s
Dates/arithmetic | 385 385 11.4s
Artifacts | 1452 1452 3.6s
CRC32c | 664 664 0.7s
CompilerSupportLibraries_jll | 5 5 0.9s
ArgTools | 180 180 12.5s
DelimitedFiles | 89 89 5.8s
Base64 | 2022 2022 9.7s
Future | None 0.0s
GMP_jll | 1 1 0.7s
InteractiveUtils | 279 279 28.2s
LLVMLibUnwind_jll | 7 7 0.3s
LazyArtifacts | 4 4 1.4s
LibCURL | 6 6 1.6s
LibCURL_jll | 1 1 0.0s
LibGit2_jll | 2 2 0.6s
LibSSH2_jll | None 0.0s
LibUV_jll | 1 1 0.4s
LibUnwind_jll | None 0.2s
FileWatching | 510 510 34.2s
Libdl | 83 1 84 0.9s
MPFR_jll | 1 1 0.2s
Logging | 40 40 1.7s
MbedTLS_jll | 1 1 0.1s
Markdown | 257 257 7.2s
MozillaCACerts_jll | 1 1 0.0s
Mmap | 140 140 6.6s
OpenBLAS_jll | 1 1 0.2s
OpenLibm_jll | 1 1 0.2s
PCRE2_jll | 2 2 0.3s
NetworkOptions | 3518 3518 3.3s
Printf | 1014 1014 19.1s
SparseArrays/sparsevector | 10367 4 10371 3m47.2s
Downloads | 238 238 1m31.8s
REPL | 1428 3 1431 27.9s
LinearAlgebra/addmul | 8964 8964 15m35.3s
Profile | 114 114 1m12.2s
Serialization | 126 1 127 6.8s
Random | 204735 204735 56.0s
SHA | 107 107 49.4s
SuiteSparse_jll | 1 1 1.7s
TOML | 415 8 423 15.4s
Statistics | 804 804 59.4s
Tar | 3161 11 3172 40.1s
UUIDs | 1029 1029 1.2s
Unicode | 776 776 4.4s
Zlib_jll | 1 1 0.2s
dSFMT_jll | 1 1 0.2s
libLLVM_jll | 1 1 0.2s
libblastrampoline_jll | 1 1 0.0s
nghttp2_jll | 1 1 0.1s
p7zip_jll | 1 1 0.0s
Test | 453 1 17 471 19.6s
SparseArrays/sparse | 4375 4375 6m31.3s
SuiteSparse | 1293 1293 1m36.8s
Sockets | 170 2 1 173 2m38.1s
Pkg | 3028 2 3030 6m39.5s
precompile | 163 1 164 18.0s
SharedArrays | 114 114 11.8s
threads | 37 37 1m29.1s
Distributed | 12 12 1m18.6s
stress | 118 118 8.0s
FAILURE
The global RNG seed was 0x40971f96cacc636ad53b356d3a637b2a.
Error in testset errorshow:
Test Failed at /Users/feuh/repos/nixpkgs/result-out/test/errorshow.jl:744
Expression: !(occursin(" _include(", bt_str))
Evaluated: !(occursin(" _include(", "\nStacktrace:\n [1] include(mod::Module, _path::String)\n @ Base ./Base.jl:419\n [2] include(x::String)\n @ Main.Test93Main_errorshow /Users/feuh/repos/nixpkgs/result-out/test/testdefs.jl:13\n [3] top-level scope\n @ /Users/feuh/repos/nixpkgs/result-out/test/errorshow.jl:738\n [4] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)\n @ Base /Users/feuh/repos/nixpkgs/result-out/usr/lib/julia/sys.dylib:-1\n [5] _include(mapexpr::Function, mod::Module, _path::String)\n @ Base ./loading.jl:1488\n [6] include\n @ ./Base.jl:419 [inlined]\n [7] macro expansion\n @ /Users/feuh/repos/nixpkgs/result-out/test/testdefs.jl:24 [inlined]\n [8] macro expansion\n @ /Users/feuh/repos/nixpkgs/result-out/usr/share/julia/stdlib/v1.8/Test/src/Test.jl:1363 [inlined]\n [9] macro expansion\n @ /Users/feuh/repos/nixpkgs/result-out/test/testdefs.jl:23 [inlined]\n [10] macro expansion\n @ ./timing.jl:463 [inlined]\n [11] runtests(name::String, path::String, isolate::Bool; seed::UInt128)\n @ Main /Users/feuh/repos/nixpkgs/result-out/test/testdefs.jl:21\n [12] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::Base.Pairs{Symbol, UInt128, Tuple{Symbol}, NamedTuple{(:seed,), Tuple{UInt128}}})\n @ Base ./essentials.jl:731\n [13] (::Distributed.var\"#110#112\"{Distributed.CallMsg{:call_fetch}})()\n @ Distributed /Users/feuh/repos/nixpkgs/result-out/usr/share/julia/stdlib/v1.8/Distributed/src/process_messages.jl:285\n [14] run_work_thunk(thunk::Distributed.var\"#110#112\"{Distributed.CallMsg{:call_fetch}}, print_error::Bool)\n @ Distributed /Users/feuh/repos/nixpkgs/result-out/usr/share/julia/stdlib/v1.8/Distributed/src/process_messages.jl:70\n [15] macro expansion\n @ /Users/feuh/repos/nixpkgs/result-out/usr/share/julia/stdlib/v1.8/Distributed/src/process_messages.jl:285 [inlined]\n [16] (::Distributed.var\"#109#111\"{Distributed.CallMsg{:call_fetch}, Distributed.MsgHeader, Sockets.TCPSocket})()\n @ Distributed ./task.jl:484"))
Error in testset Test:
Test Failed at /Users/feuh/repos/nixpkgs/result-out/usr/share/julia/stdlib/v1.8/Test/test/runtests.jl:718
Expression: !(occursin("do_test(", msg))
Evaluated: !(occursin("do_test(", "test set: Test Failed at /tmp/jl_50fgr8bYxu:3\n Expression: 1 == 2\n Evaluated: 1 == 2\nStacktrace:\n [1] backtrace()\n @ Base /Users/feuh/repos/nixpkgs/result-out/usr/lib/julia/sys.dylib:-1\n [2] record(ts::Test.DefaultTestSet, t::Union{Test.Error, Test.Fail})\n @ Test /Users/feuh/repos/nixpkgs/result-out/usr/lib/julia/sys.dylib:-1\n [3] do_test(result::Test.ExecutionResult, orig_expr::Any)\n @ Test /Users/feuh/repos/nixpkgs/result-out/usr/lib/julia/sys.dylib:-1\n [4] macro expansion\n @ /Users/feuh/repos/nixpkgs/result-out/usr/share/julia/stdlib/v1.8/Test/src/Test.jl:464 [inlined]\n [5] macro expansion\n @ ~/jl_50fgr8bYxu:3 [inlined]\n [6] macro expansion\n @ /Users/feuh/repos/nixpkgs/result-out/usr/share/julia/stdlib/v1.8/Test/src/Test.jl:1363 [inlined]\n [7] top-level scope\n @ ~/jl_50fgr8bYxu:3\ntest set: Test Failed at /tmp/jl_50fgr8bYxu:4\n Expression: 1\n Expected: MethodError\n No exception thrown\nStacktrace:\n [1] record(ts::Test.DefaultTestSet, t::Union{Test.Error, Test.Fail})\n @ Test /Users/feuh/repos/nixpkgs/result-out/usr/lib/julia/sys.dylib:-1\n [2] do_test_throws(result::Test.ExecutionResult, orig_expr::Any, extype::Any)\n @ Test /Users/feuh/repos/nixpkgs/result-out/usr/lib/julia/sys.dylib:-1\n [3] macro expansion\n @ ~/jl_50fgr8bYxu:4 [inlined]\n [4] macro expansion\n @ /Users/feuh/repos/nixpkgs/result-out/usr/share/julia/stdlib/v1.8/Test/src/Test.jl:1363 [inlined]\n [5] top-level scope\n @ ~/jl_50fgr8bYxu:3\nTest Summary: | Fail Total Time\ntest set | 2 2 1.1s\n"))
Error in testset Sockets:
Test Failed at /Users/feuh/repos/nixpkgs/result-out/usr/share/julia/stdlib/v1.8/Sockets/test/runtests.jl:152
Expression: connect(otherip, p)
Expected: Base.IOError("connect: connection refused (ECONNREFUSED)", -61)
Thrown: Base.IOError("connect: connection timed out (ETIMEDOUT)", -60)
Error in testset Sockets:
Test Failed at /Users/feuh/repos/nixpkgs/result-out/usr/share/julia/stdlib/v1.8/Sockets/test/runtests.jl:152
Expression: connect(otherip, p)
Expected: Base.IOError("connect: connection refused (ECONNREFUSED)", -61)
Thrown: Base.IOError("connect: connection timed out (ETIMEDOUT)", -60)
Error in testset Sockets:
Error During Test at /Users/feuh/repos/nixpkgs/result-out/usr/share/julia/stdlib/v1.8/Sockets/test/runtests.jl:419
Got exception outside of a @test
timeout
Stacktrace:
[1] error(s::String)
@ Base /Users/feuh/repos/nixpkgs/result-out/usr/lib/julia/sys.dylib:-1
[2] (::Main.Test69Main_Sockets.var"#wait_with_timeout#36")(recvs::Vector{Task}, TIMEOUT_VAL::Float64)
@ Main.Test69Main_Sockets /Users/feuh/repos/nixpkgs/result-out/usr/share/julia/stdlib/v1.8/Sockets/test/runtests.jl:438
[3] (::Main.Test69Main_Sockets.var"#wait_with_timeout#36")(recvs::Vector{Task})
@ Main.Test69Main_Sockets /Users/feuh/repos/nixpkgs/result-out/usr/share/julia/stdlib/v1.8/Sockets/test/runtests.jl:432
[4] macro expansion
@ /Users/feuh/repos/nixpkgs/result-out/usr/share/julia/stdlib/v1.8/Sockets/test/runtests.jl:450 [inlined]
[5] macro expansion
@ /Users/feuh/repos/nixpkgs/result-out/usr/share/julia/stdlib/v1.8/Test/src/Test.jl:1363 [inlined]
[6] top-level scope
@ /Users/feuh/repos/nixpkgs/result-out/usr/share/julia/stdlib/v1.8/Sockets/test/runtests.jl:420
[7] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)
@ Base /Users/feuh/repos/nixpkgs/result-out/usr/lib/julia/sys.dylib:-1
[8] _include(mapexpr::Function, mod::Module, _path::String)
@ Base /Users/feuh/repos/nixpkgs/result-out/usr/lib/julia/sys.dylib:-1
[9] include
@ ./Base.jl:419 [inlined]
[10] macro expansion
@ /Users/feuh/repos/nixpkgs/result-out/test/testdefs.jl:24 [inlined]
[11] macro expansion
@ /Users/feuh/repos/nixpkgs/result-out/usr/share/julia/stdlib/v1.8/Test/src/Test.jl:1363 [inlined]
[12] macro expansion
@ /Users/feuh/repos/nixpkgs/result-out/test/testdefs.jl:23 [inlined]
[13] macro expansion
@ ./timing.jl:463 [inlined]
[14] runtests(name::String, path::String, isolate::Bool; seed::UInt128)
@ Main /Users/feuh/repos/nixpkgs/result-out/test/testdefs.jl:21
[15] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::Base.Pairs{Symbol, UInt128, Tuple{Symbol}, NamedTuple{(:seed,), Tuple{UInt128}}})
@ Base ./essentials.jl:731
[16] (::Distributed.var"#110#112"{Distributed.CallMsg{:call_fetch}})()
@ Distributed /Users/feuh/repos/nixpkgs/result-out/usr/share/julia/stdlib/v1.8/Distributed/src/process_messages.jl:285
[17] run_work_thunk(thunk::Distributed.var"#110#112"{Distributed.CallMsg{:call_fetch}}, print_error::Bool)
@ Distributed /Users/feuh/repos/nixpkgs/result-out/usr/share/julia/stdlib/v1.8/Distributed/src/process_messages.jl:70
[18] macro expansion
@ /Users/feuh/repos/nixpkgs/result-out/usr/share/julia/stdlib/v1.8/Distributed/src/process_messages.jl:285 [inlined]
[19] (::Distributed.var"#109#111"{Distributed.CallMsg{:call_fetch}, Distributed.MsgHeader, Sockets.TCPSocket})()
@ Distributed ./task.jl:484
Error in testset precompile:
Test Failed at /Users/feuh/repos/nixpkgs/result-test/usr/share/julia/stdlib/v1.8/Test/src/Test.jl:815
Expression: contains_warn(read(fname, String), $(Expr(:escape, :(r"LoadError: break me\nStacktrace:\n \[1\] [\e01m\[]*error"))))
ERROR: LoadError: Test run finished with errors
in expression starting at /Users/feuh/repos/nixpkgs/result-out/test/runtests.jl:93
make[1]: *** [Makefile:25: all] Error 1
make: *** [Makefile:567: testall] Error 2
I'm not particularly surprised about the Sockets tests; with no network connectivity that is bound to fail. But the Test and errorshow failures are curious. It seems backtraces don't work quite right?
Closed by #205584.
Describe the bug Now that https://github.com/NixOS/nixpkgs/pull/123188 has landed, we have derivations for binary releases of julia versions 1.0.x and 1.6.x on x86_64-linux. It would be nice to expand platform support for these derivations, esp. for x86_64-darwin since that's what I have access to and use frequently.
I've taken a hacky first stab at this already: https://gist.github.com/samuela/257b66127bceffcc11453a6992a92d3d. Unfortunately, it gets hung up on test failures bc of nix's strict build environment:
I'm honestly not sure what the fix for this is. Removing the patch here (https://gist.github.com/samuela/257b66127bceffcc11453a6992a92d3d#file-1-6-bin-nix-L29) doesn't make any difference.
If anyone has any ideas, please do let me know!
Notify maintainers
cc @ninjin @raskin
Maintainer information: