guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#46195] [PATCH] Add julia-http with dependencies


From: Nicolò Balzarotti
Subject: [bug#46195] [PATCH] Add julia-http with dependencies
Date: Sat, 30 Jan 2021 22:21:04 +0100

Hi guix!
Here's my second set of patches adding Julia packages.

This time one package (julia-mbedtls-jll) requires a shared library
(mbedtls-apache).  The most recent way (threre has been a few during the
years) Julia packages use to ship binaries is by using jllwrappers
[fn:1], which generates package_jll (e.g. mbedtls-jll [fn:2]), a Julia
package which is then included by the real Julia package (e.g. mbedtls
[fn:3]).  Jllwrappers usually downloads prebuild binaries.  There's an
override mechanism (creating a folder named "override" under the julia
module dir).

They recently added an easiesr way to override this behaviour
(https://github.com/JuliaPackaging/JLLWrappers.jl/pull/27), but this
will be available on julia 1.6+.

In the meanwhile I see two ways around this:
- symlinking deps into
  /gnu/store/...julia-packagename-jll/[...]/override
- patching both jllwrappers to support a custom override path, and then
  patching the jllwrapper call inside each package-jll so that the
  library/binary is searched in the correct directory.

I do like this second approach more (but I don't have a strong opinion
on this), so in this patchset I patched @generate_wrapper_header macro,
so that it takes an optional parameter with the overidden library path.
While we wait for julia 1.6, the way to use this is (like I'm doing in
mbedtls-jll) to add the path to the library the generate_wrapper_header
call, and everything works fine.  I also added the relative
documentation.  If you think symlinking is a better approach, let me
know so that I can update this patch set.

(Also, somehow I managed to add to errors in previous patches (wrong
arugment name in build system, wrong file name in julia-adapt, which I
fixed now.  I'm really sorry)

Thanks again!

Nicolò

[fn:1] https://github.com/JuliaPackaging/JLLWrappers.jl
[fn:2] https://github.com/JuliaBinaryWrappers/MbedTLS_jll.jl
[fn:3]
https://github.com/JuliaLang/MbedTLS.jl/blob/ec0d189551406b883259872611d913defb5cd423/Project.toml#L8

Attachment: 0001-doc-guix.texi-Fix-typo-in-julia-build-system.patch
Description: Text Data

Attachment: 0002-gnu-julia-xyz-julia-adapt-Set-file-name-according-to.patch
Description: Text Data

Attachment: 0003-gnu-Add-julia-benchmarktools.patch
Description: Text Data

Attachment: 0004-gnu-Add-julia-jllwrappers.patch
Description: Text Data

Attachment: 0005-gnu-Add-julia-mbedtls-jll.patch
Description: Text Data

Attachment: 0006-gnu-Add-julia-mbedtls.patch
Description: Text Data

Attachment: 0007-gnu-Add-julia-uris.patch
Description: Text Data

Attachment: 0008-gnu-Add-julia-inifile.patch
Description: Text Data

Attachment: 0009-gnu-Add-julia-bufferedstreams.patch
Description: Text Data

Attachment: 0010-gnu-Add-julia-http.patch
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]