apt.cli.rs icon indicating copy to clipboard operation
apt.cli.rs copied to clipboard

Some tool suggestions

Open Zshoham opened this issue 4 years ago • 32 comments

The first is delta, it already builds musl deb packages so it should be easy to add.

I have a few others that do build with musl but do not build deb packages:

  • dust
  • just
  • toast
  • cargo-make - this one I'm not really sure about, since it is a cargo sub-command it doesn't seem to fit here but they do provide standalone binaries, and the features seem to be extensive enough that there might be usage for this outside of a cargo sub-command

Finally, I want to thank you for the initiative I think this is a great idea and hope it works out.

Zshoham avatar Sep 04 '21 07:09 Zshoham

These tools should also be taken into consideration

AMythicDev avatar Sep 04 '21 08:09 AMythicDev

Thank you all for the suggestions!

I can definitely add delta to the apt repo tomorrow once I get up.

I've been thinking making a github action for building musl packages for {amd64, arm64, armhf} would be useful. I will probably try to look at how the CD for ripgrep/fd/bat etc can be adapted to other projects as well (taking a look at tokei and dust first most likely). Once these projects are building package artifacts I can add them to the apt repo.

emmatyping avatar Sep 04 '21 11:09 emmatyping

rbw also builds musl deb packages.

ram02z avatar Sep 04 '21 19:09 ram02z

Ok, I have added delta and watchexec to the repo, the others will require cargo-deb configs and slight workflow tweaks to get building artifacts.

emmatyping avatar Sep 05 '21 20:09 emmatyping

fnm and volta are also great Rust tools (to handle Node versions).

ariasuni avatar Sep 08 '21 13:09 ariasuni

Things that do web requests may be trickier to package since they will depend on openssl, and so a statically linked version of that would be required :/

emmatyping avatar Sep 10 '21 01:09 emmatyping

Im not sure how simple this is really, but it seems that fnm uses the rustls feature of reqwest, which means that it should be possible to statically compile.

Zshoham avatar Sep 10 '21 09:09 Zshoham

Oh great! Yeah if things use rustls instead of openssl then it should be easy to package them. I hope to have a github action based on cross working sometime next week, so I can start making PRs to build Debian packages

emmatyping avatar Sep 11 '21 00:09 emmatyping

The latest release of xh now includes a .deb file that is statically linked to musl. I would appreciate it if it could be added to apt.cli.rs. thanks!

ducaale avatar Sep 16 '21 20:09 ducaale

@ducaale Done!

ethanhs@dysk:~$ apt show xh
Package: xh
Version: 0.13.0
Priority: optional
Section: web
Maintainer: ducaale <[email protected]>
Installed-Size: 8,390 kB
Homepage: https://github.com/ducaale/xh
Vcs-Browser: https://github.com/ducaale/xh
Vcs-Git: https://github.com/ducaale/xh
Download-Size: 2,562 kB
APT-Sources: https://apt.0xe.me all/main amd64 Packages
Description: Friendly and fast tool for sending HTTP requests
 xh is a friendly and fast tool for sending HTTP requests.
 It reimplements as much as possible of HTTPie's excellent design, with a focus
 on improved performance.

emmatyping avatar Sep 16 '21 21:09 emmatyping

One thing that would make our life easier on CI is `cargo-deny``; it doesn't seem to link to openssl or anything interesting (except zlib), so it should play nicely with musl.

msalib avatar Oct 04 '21 17:10 msalib

May I mention another tool as well? It is mcfly.

joshcangit avatar May 17 '22 03:05 joshcangit

It looks like mcfly does not package Debian packages, but you can ask them about packaging musl-linked debian packages!

emmatyping avatar May 17 '22 04:05 emmatyping

hck (a sharp cut(1) clone) could be added as well

ariasuni avatar May 17 '22 15:05 ariasuni

xsv seems like it would be a good fit, it already has musl-linked binaries as well.

jfmontanaro avatar May 23 '22 16:05 jfmontanaro

Hey @ethanhs, zoxide recently added musl-linked DEBs to its Releases. Would you be able to add this to the repo?

Also, how do you update packages?

ajeetdsouza avatar Jul 13 '22 03:07 ajeetdsouza

Hi @ajeetdsouza ! I would be happy to add zoxide. I manually pull them from the releases usually, but I plan on automating that this weekend.

emmatyping avatar Jul 15 '22 03:07 emmatyping

By the way, just to follow up on this @ajeetdsouza I have added zoxide to the apt repo. Let me know if you run into any issues!

emmatyping avatar Aug 06 '22 21:08 emmatyping

May I suggest dts? A tool to deserialize data from an input encoding, transform it and serialize it back into an output encoding.

FYI, there's a list, sts10/rust-command-line-utilities.markdown, but it's not exhaustive.

As for something from that list, maybe add dog?

joshcangit avatar Oct 23 '22 17:10 joshcangit

I'll suggest some of my favorites that may or may not have already been cited :

  • dog, an alternative to dig (no musl nor .deb)
  • ouch, a all-in-one (de)compression tool (musl but no .deb)
  • sd, a sed replacement with friendlier syntax (musl but no .deb)
  • miniserver, a python3 -m http.server replacement (musl but no .deb)
  • tealdeer, when you don't have the time to read the man ; or god forbids the info page (musl but no .deb)
  • procs, ps on steroids (no .deb, looking at the cargo.toml rpm seems to be build w/ musl but the release page does not specify it)
  • pueue, a task management tool when you don't want a multiplexer (no .deb, the documentation states that is it statically linked)

Arzaroth avatar Nov 18 '22 11:11 Arzaroth

Please add Numbat, a great CLI calculator: https://github.com/sharkdp/numbat Already has a .deb.

j-lakeman avatar Dec 14 '23 17:12 j-lakeman

As per https://github.com/casey/just/issues/1763, Casey is supportive of adding just to the awesome Rust Tools repo. The just tool is extremely popular with almost 15k stars and is a great task runner for any project type. I use it for all my personal projects and have now rolled it out to my team at work that love it too.

The other APT repo (Prebuilt-MBR) that has been hosting the package is now down for a reasonably extended period of time so it would be great to have it in Rust Tools too. In addition, it really does make more sense living with all the other great Rust tools that we use the Rust Tools repo for.

I'm not entirely sure how the Debian package is being built for the Prebuilt-MBR repository though.

Cheers Fotis

fgimian avatar Dec 16 '23 10:12 fgimian

Hi Fotis! I'd love to add just to this apt repo, but I don't package the projects. I prefer the upstream projects do the packaging so that it is the same as the original, no chance of bugs being introduced on our end.

emmatyping avatar Dec 23 '23 06:12 emmatyping

Hi Fotis! I'd love to add just to this apt repo, but I don't package the projects. I prefer the upstream projects do the packaging so that it is the same as the original, no chance of bugs being introduced on our end.

Ah I see, no worries. 😄

Thanks Fotis

fgimian avatar Dec 23 '23 08:12 fgimian

I have added numbat.

emmatyping avatar Dec 28 '23 08:12 emmatyping

Just recently got packaged for debian. Unfortunately it is under unstable, so IIUC we won't actually see it usable until 2027... But perhaps that packaging could be used https://sources.debian.org/src/rust-just/1.21.0-1/

tgross35 avatar Jan 13 '24 06:01 tgross35

I'll suggest some more tools. Unfortunately, none of them have been packaged for Debian, even though they have for Termux.

hurl Run and test HTTP requests in a simple plain text format. Backend is bindings to libcurl.

tere This TUI file explorer is for opening in directories.

xplr This TUI file explorer uses Lua for its configuration.

I was also going to suggest gitui but I prefer and use Lazygit instead. Better to be able to type multiline commit messages by default.

joshcangit avatar Feb 14 '24 18:02 joshcangit

I manually pull them from the releases usually, but I plan on automating that this weekend.

Hey @ethanhs, did you get time to automate this? I ask because zoxide is out of date - if this is automated, something might not be working correctly.

ajeetdsouza avatar Feb 15 '24 18:02 ajeetdsouza

@ajeetdsouza indeed there was an error in my regex to grab the latest release (9.3-1 messed up my filters for release artifacts). Thanks for catching that!

It should now be updated. I'll be going through my artifact filters to make sure they are correct.

emmatyping avatar Feb 16 '24 04:02 emmatyping