[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Building hexyl (a rust app) without cargo, with antioxidant-build-sy
From: |
Efraim Flashner |
Subject: |
Re: Building hexyl (a rust app) without cargo, with antioxidant-build-system |
Date: |
Mon, 30 May 2022 11:23:21 +0300 |
On Sat, Apr 02, 2022 at 05:18:55PM +0200, Maxime Devos wrote:
> Hi,
>
> antioxidant-build-system can now be used for some ‘real’ software -- it
> compiles 'hexyl'. To test, download
> <https://notabug.org/maximed/cargoless-rust-experiments> (commit:
> d09fd93750ac6d77e0c85623286b45cf5c3b055b) and run
> "guix build -L . -f guix.scm" and then
>
> $ cat guix.scm | /gnu/store/[...]-hexyl-0.8.0/bin/hexyl
> > lots of coloured hex output
>
> Some features of antioxidant-build-system:
>
> * no copying source code of dependencies
> * no compiling dependencies again -- old artifacts are reused
> * all dependencies use the usual package input system
> (native-inputs, inputs, propagated-inputs)
>
> Limitations:
>
> * no support for linking to arbitrary shared libraries yet
> (only rust deps)
> * makes a few assumptions on the source layout (can be fixed
> by using more info from Cargo.toml)
> * no tests
> * no cross-compilation yet
> * no shared libraries (just replacing 'rlib' by 'dylib' causes problems)
> * code is a bit messy
> * no cdylib yet (probably needed for librsvg)
Something that might help with that would be to also include the source
of the crate somewhere in the output. Then at the worst we could just
put the rust inputs of librsvg as regular inputs and let librsvg do its
own special build thing. We'd then still keep the build dependency tree
you've got working.
--
Efraim Flashner <efraim@flashner.co.il> אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
signature.asc
Description: PGP signature
- Re: Building hexyl (a rust app) without cargo, with antioxidant-build-system,
Efraim Flashner <=