xargo icon indicating copy to clipboard operation
xargo copied to clipboard

PSA: Xargo is now in maintenance mode

Open japaric opened this issue 7 years ago • 16 comments

Also see the status updates below. Original announcement by original maintainer follows.


It actually has been in maintenance for a while but now I'm officially announcing it.

What does this mean?

It means that I am not going to add new features to Xargo or fix known papercuts. If you would like to work on that then I can add you as collaborator. I do, however, will fix future issues (hopefully zero of them), caused by nightly, that break my ARM Cortex-M development workflow.

What should I do now?

I have proposed adding Xargo's functionality to Cargo here. Doing that will fix the known papercuts (#189, #123, etc.) and make it easier to add desired features (e.g. #139). I suggest that you comment on that issue to get it green lighted and implemented (by someone other than me).

Why are you doing this?

Xargo was conceived as a temporary solution to the missing "build the sysroot" functionality in Cargo (cf. rust-lang/rfcs#1133). This is just me being firm about the "temporary" part.

japaric avatar Jan 20 '18 15:01 japaric

FWIW, the Cargo team is actively interested in incorporating Xargo's functionality this year.

aturon avatar Jan 20 '18 15:01 aturon

@aturon Any updates on this?

ofek avatar Aug 09 '18 18:08 ofek

@ofek This integration got punted, because we were able to land direct support for the platforms Xargo is typically used for. There's interest in doing this work in Cargo still, but not until 2019.

aturon avatar Sep 17 '18 22:09 aturon

@aturon Now that 2019 is here, are there any updates on this?

johnthagen avatar Jan 30 '19 23:01 johnthagen

There should be a blog post proposing a roadmap for Cargo coming out in the next couple of weeks (cc @nrc). I believe it touches on plans here as well.

aturon avatar Jan 31 '19 22:01 aturon

I would like this to be a key focus for Cargo in 2019. We're working on a more precise roadmap, but I discuss it in my recent blog post at https://www.ncameron.org/blog/cargos-next-few-years/

nrc avatar Feb 02 '19 04:02 nrc

It would be really really great if this could happen.

dancrossnyc avatar Mar 08 '19 23:03 dancrossnyc

Linking to related RFC: std Aware Cargo

johnthagen avatar Mar 21 '19 15:03 johnthagen

I would like this to be a key focus for Cargo in 2019. We're working on a more precise roadmap, but I discuss it in my recent blog post at https://www.ncameron.org/blog/cargos-next-few-years/

As well as broad impact, I think we should focus on cross-compilation this year because:

So what's the current state? Does cargo+rustup already do everything we need for cross development?

androm3da avatar Mar 20 '20 19:03 androm3da

Current status:

johnthagen avatar Jun 14 '20 12:06 johnthagen

build-std exists in nightly Rust

  • https://github.com/johnthagen/min-sized-rust#optimize-libstd-with-build-std

johnthagen avatar Apr 19 '22 23:04 johnthagen

Xargo maintenance status update

The current status of xargo maintenance is as follows: we haven't seen @japaric in a while, so not sure how much they are still keeping their ARM Cortex-M development workflow working.

I am maintaining xargo for the purpose of Miri, which needs to check-build the official Rust standard library (unchanged). As long as Miri needs xargo, as part of maintaining Miri I will make sure this part of xargo keeps working. But I will likely not have time to work on issues that do not affect Miri. Your PRs are welcome as long as they keep CI green and don't break Miri. :)

RalfJung avatar May 21 '22 07:05 RalfJung

As for me, my need for Xargo has basically gone away so any time I spend reviewing issues & PRs is solely community service.

jethrogb avatar May 21 '22 08:05 jethrogb

we haven't seen @japaric in a while, so not sure how much they are still keeping their ARM Cortex-M development workflow working.

ARM Cortex-M development has not needed Xargo, or nightly, since the 2018 edition. Any other kind of embedded / no-std development for custom targets and built-in targets that lack a pre-compiled rust-std component can be done using Cargo's -Z build-std feature. Personally, I'm not aware of a use case where Xargo is needed because it can not be served by -Z build-std; e.g. cargo-call-stack a tool that I maintain and requires re-compiling libstd with rustc's -Z emit-stack-sizes also uses -Z build-std.

EDIT: and if there's a use case not covered by -Z build-std it would be best to inform the Cargo team before the feature gets stabilized.

japaric avatar Jun 08 '22 09:06 japaric

Another status update: Miri has stopped using xargo, so I will also not maintain xargo any more.

RalfJung avatar Sep 28 '22 19:09 RalfJung