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

Consider publishing to crates.io #30

Open
davide125 opened this issue Jul 3, 2023 · 5 comments
Open

Consider publishing to crates.io #30

davide125 opened this issue Jul 3, 2023 · 5 comments

Comments

@davide125
Copy link
Contributor

Publishing martypc (and the related crates -- marty_core, marty_render, etc.) to crates.io would make it more straightforward to install for users. It's also helpful for Linux distribution packaging, as they often rely (or even require) published crates (on that note, I'd be happy to take a stab at packaging this for Fedora, but its automation requires published crates). Thanks!

@dbalsom
Copy link
Owner

dbalsom commented Jul 3, 2023

I'm a pretty newbie Rust developer so bear with me here... Stuff like marty_render isn't really useful to anyone as a standalone crate, I just started diving stuff up into libraries in my project for better organization and to make separate front ends (like the web player) easier to implement. Is it common to publish 'internal' crates like that?

@davide125
Copy link
Contributor Author

Yeah, from what I've seen it's pretty common to publish internal crates. They don't have to be versioned independently -- you can just bulk publish them all at once with the same version when you tag a release. If you start having a lot you may want to script the package/upload process for convenience (e.g. see https://github.com/facebookincubator/below/blob/main/scripts/publish_crates_io.py for what another project I work with does; another option is using GitHub Actions).

@dbalsom
Copy link
Owner

dbalsom commented Jul 3, 2023

Regarding linux packaging, what are your thoughts on distributing something like an AppImage or Flatpak vs packaging for individual distros?

@davide125
Copy link
Contributor Author

I'm not terribly familiar with AppImage. I've used Flatpak, and it's a decent way for upstream projects to publish official releases that are easy to consume on all distros. It can be annoying to get to work properly as things run inside a sandboxed container and you need to explicitly declare any holes you might need to punch.

I personally still prefer native packages, but that's probably something you can leave to contributors that care about specific distros and can package martypc for them (i.e. I wouldn't recommend you attempt to package it for all distros by yourself, unless packaging is something you find enjoyable / care about).

@JKjakay
Copy link

JKjakay commented Jul 15, 2023

By the way: I am running MartyPC on Wine and I dont see any problems. Seems to run like it does on Microsoft´s original flavor :-) This is on Fedora 38 with Wine 8.12. So if there are no problems I am not aware of, I for my part would be happy to have the developer put his main emphasis on making MartyPC itself better and not rushing out Linux container versions. I am using Linux almost exclusively, but I am not a Penguin hardliner, you know. If it works on wine, I am happy.
Apart from that, I would recommend AppImage because this can be hosted here, while for flatpak you have to go via flathub and the like.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants