Subject: Re: [bug#36856] build: Add julia-build-system

From: Nicolò Balzarotti <[email-masked]>
Date: Tue, 30 Jul 2019 16:02:39 +0000

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?

Thanks

Il giorno mar 30 lug 2019 alle ore 14:33 Ricardo Wurmus <[email-masked]>
ha scritto:

>
> Julien Lepiller <[email-masked]> writes:
>
> > Le 30 juillet 2019 16:11:19 GMT+02:00, Ricardo Wurmus <
> [email-masked]> a écrit :
> >>
> >>Nicolò Balzarotti <[email-masked]> 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
>
>