-
-
Notifications
You must be signed in to change notification settings - Fork 12.2k
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
sbt: Remove x86 dependency #76947
sbt: Remove x86 dependency #76947
Conversation
Are you able to run the commands the test runs in your shell? i.e. sbt --sbt-create about
sbt sbtVersion
stbn about
sbtn shutdown |
Looking more closely in the tarball, it seems to ship pre-compiled binaries:
These should be built from source instead. In particular, |
Hi,
However, if we take a look to the official SBT 1.4.0 release notes we find that:
That is, In conclusion, you can perform 100% of the actions SBT can perform even without |
Optional or not:
|
We're not shipping just the |
It will take quite a while until sbtn compiles to ARM because it requires Graalvm's |
As a compromise, is it possible to ship sbt to aarch64 without the thin client at all? That way you can avoid installing x86_64 binaries into an ARM prefix and still provide a working package. |
We should either build the thin client from source or remove it unconditionally. See https://docs.brew.sh/Acceptable-Formulae#we-dont-like-binary-formulae. If we remove it unconditionally the |
As @nightscape already wrote: building sbtn from source on M1 (for arm64) is currently not possible, and this will probably not change for a long time. With regards to https://docs.brew.sh/Acceptable-Formulae#we-dont-like-binary-formulae: what about moving sbt to homebrew/cask. We could keep sbtn for x86 and remove it for arm64. I don't think that anyone on x86 systems would expect that sbtn is removed from the installation due to homebrew/core policies. |
We should build it from source on Intel then. |
Sorry, but I don't understand why building it from source on Intel would help here. It would need to be built from source on all architectures. x86 could include sbtn, arm64 would skip it. But why would it make more sense to require every user installing this formula to download tons of dependencies and building sbt from source instead of moving the formula to homebrew/cask and wasting much less resources? |
Why would us building it from source require users to downloads tons of dependencies? We don't allow casks into Homebrew/cask when they can be packaged as formulae. |
Ok thanks. I thought building from source meant that it‘s built locally. |
We don't support users building from source (though some do), so as long as the dependencies are needed only at build-time, then most users will never need to worry about any dependencies. |
This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. |
`sbtn` is a pre-compiled native binary that goes against our packaging policy. [1] It also doesn't work on ARM, and requires adjustments to the formula to work on (x86_64) Linux. Let's remove it. Let's also remove `sbt.bat` since that's only for Windows. Fixes Homebrew#87391. Resolves Homebrew#76947. [1] https://docs.brew.sh/Acceptable-Formulae#we-dont-like-binary-formulae
`sbtn` is a pre-compiled native binary that goes against our packaging policy. [1] It also doesn't work on ARM, and requires adjustments to the formula to work on (x86_64) Linux. Let's remove it. Let's also remove `sbt.bat` since that's only for Windows. Fixes #87391. Resolves #76947. [1] https://docs.brew.sh/Acceptable-Formulae#we-dont-like-binary-formulae Closes #87636. Signed-off-by: Nanda H Krishna <me@nandahkrishna.com> Signed-off-by: BrewTestBot <1589480+BrewTestBot@users.noreply.github.com>
brew install --build-from-source <formula>
, where<formula>
is the name of the formula you're submitting?brew test <formula>
, where<formula>
is the name of the formula you're submitting?brew audit --strict <formula>
(after doingbrew install <formula>
)?Context
12 days ago brew added the
depends_on arch: :x86_64
statement for the SBT formula. However, based on this comment and actual usage on a mac with M1, it seems to be compatible.I've found an error running the
brew test sbt
command, but I completely lack of context, so I would appreciate some help in order to determine if that is because SBT would not be compatible, or it is because some other reasons and we can move forward removing the x86 dependency.Steps followed
Reproduce the error
Disable x86 requirement
Test results
SBT 1.5.2 is properly installed and being able to run:
Homebrew debug
Running the Homebrew contributing instructions it throws an exception: