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

RISC-V builds for Linux #18735

Closed
1 task done
Slackadays opened this issue Nov 8, 2024 · 3 comments
Closed
1 task done

RISC-V builds for Linux #18735

Slackadays opened this issue Nov 8, 2024 · 3 comments
Labels
features New features

Comments

@Slackadays
Copy link

Slackadays commented Nov 8, 2024

Verification

Provide a detailed description of the proposed feature

This would enable Homebrew to host Linux builds for RISC-V systems in addition to x86_64 ones. If Homebrew needs real hardware to help build these packages, I have a way of providing it.

What is the motivation for the feature?

RISC-V is exploding onto the scene and growing in popularity very fast, and a lot of us using RISC-V Linux are suffering from outdated/missing packages, which Homebrew often doesn't suffer from. So, offering RISC-V support would be a huge boon both right now and in the future when more people are actually using it for their PCs.

How will the feature be relevant to at least 90% of Homebrew users?

Linux users are right now a fraction of Homebrew users, and RISC-V even more so. However, in the long term, it's certain that x86_64 and ARM are going to become legacy platforms, so adding support right now hedges Homebrew's compatibility bet.

What alternatives to the feature have been considered?

There is of course waiting until more RISC-V users exist, or adding ARM support to Homebrew right now, or using a different package manager like cargo (yuck!) instead. Also check out flathub/flathub#4378, but Flathub is almost all GUI software

@Slackadays Slackadays added the features New features label Nov 8, 2024
@Bo98
Copy link
Member

Bo98 commented Nov 8, 2024

PRs to add build-from-source support may be accepted if lightweight (we support x86_64, arm, arm64, and various PPC archs) but would need to come from someone who uses it and we don't have any maintainer which does.

Full support including pre-built bottles is unlikely for the foreseeable future given the lack of CI.

adding ARM support to Homebrew right now

This is significantly more likely, and is something we'll evaluate in early 2025 when GitHub Actions support it. We do have a few hobbyists running ARM under a build-from-source setup.

@Slackadays
Copy link
Author

Full support including pre-built bottles is unlikely for the foreseeable future given the lack of CI.

I may be able to provide hardware just for this (like with Flathub), would that help?

@Bo98
Copy link
Member

Bo98 commented Nov 8, 2024

Probably not as there would be security questions (we can't just trust random machines), maintainability questions (who will port every Homebrew/core package to work and continue to maintain that going forward) and as well as long-term sustainability questions (we'd be relying on one person for CI, and the known user base is right now only you).

In any case, the first step of any support would be making it work when building packages from source (no bottles). This is how Linuxbrew started, it is how the PowerPC fork started, and is how the ARM support for Linux is currently going. If this is non-trivial, it can start in a fork but if it only requires tweaking a few lines then I'm happy to review a pull request adding support for it.

Shipping pre-built bottles is a permanent commitment which will only happen on our side when there's large enough interest and guaranteed resources. Of course, forks can help bridge this gap in the interim just like the ppc64 and aarch64 Linux forks have.

@Bo98 Bo98 closed this as not planned Won't fix, can't repro, duplicate, stale Nov 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
features New features
Projects
None yet
Development

No branches or pull requests

2 participants