* Re: Guix day: Summary fo rust BoF session
2020-11-30 10:05 ` Sébastien Lerique
@ 2020-12-11 20:39 ` John Soo
2020-12-12 11:07 ` Hartmut Goebel
0 siblings, 1 reply; 4+ messages in thread
From: John Soo @ 2020-12-11 20:39 UTC (permalink / raw)
To: Sébastien Lerique; +Cc: guix-devel
[-- Attachment #1: Type: text/plain, Size: 913 bytes --]
Hi Hartmut and Sébastien,
I started with some talking points which I will attach. We did not get
to everything though. Mostly we discussed the possibility of using
system dependencies and installing actual compiled artifacts. Someone
mentioned that the possibility of using system dependencies came up on
the #rust IRC channel. After some research, I think I may take a look
at it soon.
The other topic I remember coming up were some packaging idioms and
module organization. I think consensus was generally reached that we
should try to keep package definitions based on "domain" or "use" rather
than by language - i.e. put rust web libraries in a web module. I think
the newer crates-graphics and other modules are decent examples of
this. In future, perhaps we move packages out of rust-apps.scm though.
In other news, I am glad the importer is merged now! Congratulations!
- John
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: guix-day-2020.org --]
[-- Type: text/x-org, Size: 1871 bytes --]
#+TITLE: (BoF) Rust + Cargo Discussion
Rust has come a long way since I started using Guix in 2018: crate importer,
cargo-build-system, bootstrapping with mrustc, etc. I use Guix to write Rust
for work everyday now!
Still a long way to go. Some topics below (add your own before we start).
* Topics
** Improved, semantic versioning-aware, crate importer
- New work in https://issues.guix.gnu.org/44560
- Original issue https://issues.guix.gnu.org/38408
** rustfmt as an output of rust
- Open patch in https://issues.guix.gnu.org/42295
- Other candidates include rls/rust-analyzer, clippy, racer
** Keeping rust versions up to date
- On a 6 week release cycle, perhaps we need rust-updates branch?
- I have been using version 1.46 without issue
** Packaging idioms
- How best to remove vendored sources?
- How to propagate the required environment variables.
- When to include minor version in package variable name?
** guix refresh does not pick up dependencies between rust dependencies
#+begin_src bash
guix refresh --list-dependent rust-serde
#+end_src
#+RESULTS:
: No dependents other than itself: rust-serde@1.0.117
** Incremental compilation/shared libraries possible?
- Use the store as a registry?
- $CARGO_OUT_DIR to put artifacts in build outputs
https://github.com/rust-lang/cargo/issues/6790
- cargo metadata, guile-toml, cargo-build --manifest-path=...?
** Packaging efforts and updates
pijul patches available.
Others waiting to submit.
- teip
- skim
- dog
- sd
- zoxide
- tealdeer
** Collaboration with Rust community directly
- Start with communication, maybe advance to RFC?
- Collaborate with Nix to understand how to make cargo work better for
functional package managers?
** Wasm32 target support
- May need to patch-cargo-checksums of Cargo
^ permalink raw reply [flat|nested] 4+ messages in thread