Building software that requires older libressl on snapshots

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Building software that requires older libressl on snapshots

Patrick Marchand
So I'm trying to build pijul (rust vcs based on patch theory) but it
requires rust-openssl, which only supports the latest release of
libressl (2.6). Is there a quick fix to build software that requires an
older libressl than what is currently used in snapshots? Or should I try
to patch the rust-openssl source code myself.

Reply | Threaded
Open this post in threaded view
|

Re: Building software that requires older libressl on snapshots

Sebastien Marie-3
On Tue, Mar 20, 2018 at 11:18:06PM -0400, Patrick Marchand wrote:
> So I'm trying to build pijul (rust vcs based on patch theory) but it
> requires rust-openssl, which only supports the latest release of
> libressl (2.6). Is there a quick fix to build software that requires
> an older libressl than what is currently used in snapshots? Or should
> I try to patch the rust-openssl source code myself.

lang/rust has an internal copy of rust-openssl (it is a cargo
dependency).

There is a patch on rust-openssl to force the build using the latest
suppported version (see lang/rust/patches/patch-src_vendor_openssl-sys_build_rs).

The method itself is a bit fragile, as it will depend on:
  - state of libressl itself (API or ABI breaking changes)
  - usage of rust-openssl (usage of previous broken changes)

Running testsuite is usually a good method to check breakage.

For me, rust FFI is a bit a shame: it is a *copy* of C headers, written
and maintained in Rust language. It is good for crosscompilation (as
Rust know how to build stuff without any C headers), but it is awful to
maintain and keep up-to-date.

--
Sebastien Marie

Reply | Threaded
Open this post in threaded view
|

Re: Building software that requires older libressl on snapshots

Stuart Henderson
On 2018-03-21, Sebastien Marie <[hidden email]> wrote:
> For me, rust FFI is a bit a shame: it is a *copy* of C headers, written
> and maintained in Rust language. It is good for crosscompilation (as
> Rust know how to build stuff without any C headers), but it is awful to
> maintain and keep up-to-date.

If these headers are in one place, rather than being copied around between
various programs which use them, it has an advantage over Go :-)


Reply | Threaded
Open this post in threaded view
|

Re: Building software that requires older libressl on snapshots

Patrick Marchand
In reply to this post by Sebastien Marie-3
> There is a patch on rust-openssl to force the build using the latest
> suppported version (see lang/rust/patches/patch-src_vendor_openssl-sys_build_rs).
Applying the patch worked
 
> Running testsuite is usually a good method to check breakage.
And the test suite passed
> For me, rust FFI is a bit a shame: it is a *copy* of C headers, written
> and maintained in Rust language. It is good for crosscompilation (as
> Rust know how to build stuff without any C headers), but it is awful to
> maintain and keep up-to-date.
I think I recall work being done on that front? And as I'm writting this
I realize you're the own who started the git issue. Issue #2239 on the
rust github. (pasting in st is a bit bonkers right now, so I'm not copy
pasting the url)

Thanks for the help