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

From: Ricardo Wurmus <[email-masked]>
Date: Tue, 30 Jul 2019 16:08:55 +0200

Hi Nicolò,

> Lately I've been working a bit on julia packages support in guix.
>
> The good news first: I've been able to install dozen of them, including
> those depending on binaryprovider with simple workarounds.

Excellent!

> 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

This looks like it would not work with profiles installed anywhere else.
I’m not a fan of hard-coding ~/.guix-profile, because I know that many
people here at the institute use per-project profiles at custom
location.  Any mechanism that relies on things to be installed to
~/.guix-profile will fail them.

Could this be made profile-agnostic?  Perhaps the GUIX_PROFILE
environment variable could be referenced?

Thanks for working on it!

--
Ricardo