Hi, I'm back.I fixed the problem I had (I forgot the ./pre-inst-env -.-")Following this discussion, I'm adding ``native-search-paths'' to the julia package. Now, without any other hack (like the setup.jl one), it can find the packages but only when installed with guix package -i . It cannot find them when in an environment (guix environment --ad-hoc julia-package).Can you help?Except from this, I cleaned everything a bit, and added a draft of the documentation. I'm attaching the new patches here (without the julia-xyz part one, to which I'll add all package synopsis and description, and I'll split in multiple patches before re-submitting).Thanks, NicolòIl giorno mar 30 lug 2019 alle ore 16:02 Nicolò Balzarotti <anothersms@gmail.com> ha scritto:Thanks for the quick response!Well, the environment variable JULIA_LOAD_PATH (that inside julia is just LOAD_PATH) works exactly like that (is a column-concatenated path list). It just needs the special ":@stdlib" path to let julia find its standard libraries.Example:> JULIA_LOAD_PATH=/my/new/path/:/profile/path/:@stdlib julia --startup=no -E 'LOAD_PATH'
["/my/new/path/", "/profile/path/", "@stdlib"]Is setting this variable from guix fine, or we need a special GUIX_SOMETHING variable?Where exactly should I set this?ThanksIl giorno mar 30 lug 2019 alle ore 14:33 Ricardo Wurmus <rekado@elephly.net> ha scritto:
Julien Lepiller <julien@lepiller.eu> writes:
> Le 30 juillet 2019 16:11:19 GMT+02:00, Ricardo Wurmus <rekado@elephly.net> a écrit :
>>
>>Nicolò Balzarotti <anothersms@gmail.com> writes:
>>
>>> 3. By adding a simple startup.jl script, inspired by what emacs does.
>>This
>>> is simplified so I'm not sure it works for every corner case.
>>> #+begin_src julia
>>> let paths = [expanduser("~/.guix-profile"),
>>"/run/current-system/profile"]
>>> ("GUIX_ENVIRONMENT" in keys(ENV)) && push!(paths,
>>> ENV["GUIX_ENVIRONMENT"])
>>> empty!(LOAD_PATH)
>>> push!.(Ref(LOAD_PATH), joinpath.(paths, "share/julia/packages/"))
>>> push!(LOAD_PATH, "@stdlib")
>>> push!.(Ref(DEPOT_PATH), joinpath.(paths, "share/julia/"))
>>> nothing
>>> end
>>> #+end_src
>>
>>Could this perhaps be handled by a profile hook that is included only
>>when the profile manifest contains a julia package?
>
> Or simply with an environment variable? GUIX_JULIA_PATH or something?
If this is the route you go down, please ensure that it can be used as a
search path with more than one directory. This would make it possible
to extend a Julia environment with the contents of more than one
profile.
--
Ricardo