Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] New package: shellcaster-1.0.1 #24525

Closed
wants to merge 1 commit into from

Conversation

daniel-eys
Copy link
Contributor

Terminal-based podcast manager built in Rust

https://github.com/jeff-hughes/shellcaster

Unfortunately nocross because ncurses-rs's build.rs tries to run a target executable on the host.

@ericonr
Copy link
Member

ericonr commented Aug 28, 2020

See #23972 , ncurses-rs is a bad dependency.

@daniel-eys
Copy link
Contributor Author

Exactly, not cross-friendly at all. That's why I eventually went for nocross.

@ericonr
Copy link
Member

ericonr commented Aug 28, 2020

It's also arch restricted, due to their incorrect usage of signed/unsigned chars.

@daniel-eys
Copy link
Contributor Author

So basically archs="i686* x86_64*"?

@daniel-eys daniel-eys changed the title New package: shellcaster-1.0.1 [WIP] New package: shellcaster-1.0.1 Aug 28, 2020
@fosslinux
Copy link
Contributor

A better construct here is:

case "${XBPS_TARGET_ARCH}" in
    somearch) broken="blah" ;;
    *) ;;
esac

because archs is meant to be used for packages that explicitly only support particular archs, this is unintended breakage.

@ericonr
Copy link
Member

ericonr commented Aug 30, 2020

I'm not sure I agree, because ncurses-rs is supposedly kinda dead iirc, so it won't ever not be broken.

There is, however, a chance that upstream changes the dependency they are using, so I guess broken could work just as well.

@fosslinux
Copy link
Contributor

I see it as an unintended consequence by the maintainer of shellcaster.

If we were packaging ncurses-rs archs would be the right thing to do but I don't think it is here.

@daniel-eys
Copy link
Contributor Author

Well, given the fact that the dependency ncurses-rs is quite troublesome and their upstream seems kinda inactive, I'm probably dropping this pr.

@fosslinux
Copy link
Contributor

Nah, keep it open, I'm working on something for ncurses-rs. I like this application, TBH

@kotajacob
Copy link
Contributor

Hey I also use this and would be happy to see it packaged. I opened a ticket on shellcaster to make the author aware of the issue. Also it seems like shellcaster uses pancurses which uses ncurses-rs. Both projects haven't been updated since 2019 so if ncurses-rs gets forked pancurses will probably also need to be forked.

I looked into #23972 and it seems like upstream dijo switched out their pancurses dep for termion.

@jeff-hughes
Copy link

Hi there -- shellcaster maintainer here. I'd love to make it available for Void Linux and for ARM as well. Yes, in hindsight relying on pancurses and ncurses-rs was a bad idea; I didn't notice that the projects are not very active. Long-term I may try to move to termion instead to remove the ncurses dependency, but that would require a fairly large rewrite.

Forking the ncurses-rs library to merge the open PR for building on arm64 would be an option, and I'm happy to jump to this dependency as long as it doesn't impact building on x86. However, to publish shellcaster on crates.io (which allows for easy installation with cargo install shellcaster), all the deps need to be on crates.io as well. I don't feel comfortable becoming the maintainer of a forked ARM-compatible ncurses-rs/pancurses library on crates.io if I don't even have an ARM device myself to test things on. If there is someone willing to do that, that would be great, and I'd happily switch dependencies.

The other option is that I can add a git dependency in my Cargo.toml, which will mean it will build ncurses-rs from the crates.io version when installing from crates.io, and build it from the Github repo when compiled from source. It's a little bit of a hack, but if I end up being the one forking those projects, that's ideal for me, as it doesn't set me up as some sort of "official" ncurses fork -- the scope is restricted to shellcaster.

Anyway, I wanted to check in here to figure out what would work best. Thanks, @kotajacob, for letting me know this existed. @fosslinux, you mention you're doing something with ncurses-rs -- what does that entail? If it's something I can help with in some way, I'd be happy to.

@fosslinux
Copy link
Contributor

I haven't been able to do very much work on that yet, but it would basically involve adding a ncurses-rs build_helper so it patches ncurses-rs.

@ericonr ericonr added the new-package This PR adds a new package label Dec 20, 2020
@daniel-eys daniel-eys closed this Jul 12, 2021
@daniel-eys daniel-eys deleted the shellcaster branch July 12, 2021 19:53
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Oct 11, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
new-package This PR adds a new package
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants