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

bun 0.1.6 (new formula) #105263

Closed
wants to merge 3 commits into from
Closed

bun 0.1.6 (new formula) #105263

wants to merge 3 commits into from

Conversation

jeelmakani
Copy link

  • Have you followed the guidelines for contributing?
  • Have you ensured that your commits follow the commit style guide?
  • Have you checked that there aren't other open pull requests for the same formula update/change?
  • Have you built your formula locally with brew install --build-from-source <formula>, where <formula> is the name of the formula you're submitting?
  • Is your test running fine brew test <formula>, where <formula> is the name of the formula you're submitting?
  • Does your build pass brew audit --strict <formula> (after doing brew install --build-from-source <formula>)? If this is a new formula, does it pass brew audit --new <formula>?

@BrewTestBot BrewTestBot added the new formula PR adds a new formula to Homebrew/homebrew-core label Jul 6, 2022
@jeelmakani jeelmakani changed the title adding formula for https://bun.sh bun 0.1.1 Jul 6, 2022
@chenrui333
Copy link
Member

@jeelmakani it need to be built from source.

@SMillerDev SMillerDev changed the title bun 0.1.1 bun 0.1.1 (new formula) Jul 7, 2022
Formula/bun.rb Outdated Show resolved Hide resolved
@SMillerDev SMillerDev marked this pull request as draft July 7, 2022 07:54
@branchvincent branchvincent changed the title bun 0.1.1 (new formula) bun 0.1.2 (new formula) Jul 10, 2022
@BrewTestBot BrewTestBot added go Go use is a significant feature of the PR or issue nodejs Node or npm use is a significant feature of the PR or issue rust Rust use is a significant feature of the PR or issue labels Jul 10, 2022
@jeelmakani jeelmakani marked this pull request as ready for review July 10, 2022 17:32
@branchvincent branchvincent added the CI-no-fail-fast Continue CI tests despite failing GitHub Actions matrix builds. label Jul 10, 2022
Formula/bun.rb Show resolved Hide resolved
Formula/bun.rb Outdated
Comment on lines 28 to 33
# Fails to build with latest zig release
# Commit from latest fork: https://github.com/Jarred-Sumner/zig
resource "zig" do
url "https://github.com/ziglang/zig/archive/0ea51f7f494cd84a48fd997b60196d6c4254ccac.tar.gz"
sha256 "7a6cf86adb7e7631f16a9ed2b8fcf461ed5cb387cc9b30f38bf182fa235b446f"
end
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://docs.brew.sh/Acceptable-Formulae#stuff-that-requires-vendored-versions-of-homebrew-formulae

This will need to be contributed upstream before we can use it.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note that this uses ziglang/zig, so there is nothing to upstream. The Jarred-Sumner/zig fork only seemingly serves as a pointer to the latest compatible zig commit

Speaking of vendoring, there are quiet a few vendored deps that we'll want to replace: https://github.com/oven-sh/bun/blob/main/.gitmodules

@branchvincent branchvincent force-pushed the master branch 3 times, most recently from 5866fa2 to 981e09d Compare July 11, 2022 21:02
@branchvincent branchvincent changed the title bun 0.1.2 (new formula) bun 0.1.3 (new formula) Jul 11, 2022
@equal-l2
Copy link
Contributor

equal-l2 commented Jul 12, 2022

Bun currently requires AVX2 on Intel:
oven-sh/bun#67

At least one of the action error occurring is caused by lacking AVX2:

  fastavxbase64.c:79:27: error: always_inline function '_mm256_maskload_epi32' requires target feature 'avx2', but would be inlined into function 'fast_avx2_base64_encode' that is compiled without support for 'avx2'
      __m256i inputvector = _mm256_maskload_epi32(

(log excerpt)

@rodrigoborgesdeoliveira

Bun v0.1.4 is out.

@cho-m
Copy link
Member

cho-m commented Jul 15, 2022

Bun currently requires AVX2 on Intel: oven-sh/bun#67

This will be a blocker. Homebrew needs to build bottles that can run on older hardware.

As I recall:

  • Current macOS will be built with -march=nehalem (max SSE4.2).
  • Current Linux will be built with -march=core2 (max SSSE3).

@jeelmakani jeelmakani changed the title bun 0.1.3 (new formula) bun 0.1.4 (new formula) Jul 15, 2022
@equal-l2
Copy link
Contributor

We can't use AVX2 for the time being because macOS 12 supports Mac Pro with Ivy Bridge, which doesn't support AVX2.

@equal-l2
Copy link
Contributor

equal-l2 commented Jul 23, 2022

Bun 0.1.5 has been released.
It contains AVX2 detection in the base64 module.

@branchvincent branchvincent changed the title bun 0.1.4 (new formula) bun 0.1.5 (new formula) Jul 23, 2022
@branchvincent branchvincent added CI-long-timeout [DEPRECATED] Use longer GitHub Actions CI timeout. long build Set a long timeout for formula testing labels Jul 23, 2022
@equal-l2
Copy link
Contributor

equal-l2 commented Jul 26, 2022

They seems to be still working in progress on non-AVX2 build: oven-sh/bun#873 (comment)

This [build failure in base64 module] isn't the main issue facing non-AVX2 support. But I am working on it as we speak.
Once this action runs successfully, we should have automated builds for macOS x64, macOS arm64, Linux arm64, Linux x64, Linux x64 for non-avx2 CPUs (-baseline) and macOS x64 for non-avx2 CPUs.

@equal-l2
Copy link
Contributor

equal-l2 commented Aug 2, 2022

Bun 0.1.6 has been released.
From this version, the upstream offers non-AVX2 (baseline) builds, which means we should be able to build Bun on non-AVX2 machines officially.

Formula/bun.rb Outdated Show resolved Hide resolved
@cho-m cho-m added the CI-long-timeout [DEPRECATED] Use longer GitHub Actions CI timeout. label Aug 7, 2022
@iMichka iMichka removed the CI-long-timeout [DEPRECATED] Use longer GitHub Actions CI timeout. label Aug 7, 2022
@cho-m cho-m changed the title bun 0.1.5 (new formula) bun 0.1.6 (new formula) Aug 8, 2022
@github-actions
Copy link
Contributor

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.

@github-actions github-actions bot added stale No recent activity and removed stale No recent activity labels Aug 31, 2022
@github-actions
Copy link
Contributor

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.

@github-actions github-actions bot added stale No recent activity and removed stale No recent activity labels Sep 23, 2022
depends_on "rust" => :build

def install
ENV["ZIG"] = buildpath/"bin/zig"
Copy link
Member

@carlocab carlocab Sep 25, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note that Zig builds with -march=native by default (at least, the stable version does), so we want to make sure it's not doing that here. See, for example:

# Fix illegal instruction errors when using bottles on older CPUs.
# https://github.com/Homebrew/homebrew-core/issues/92282
cpu = case Hardware.oldest_cpu
when :arm_vortex_tempest then "apple_m1" # See `zig targets`.
else Hardware.oldest_cpu
end

@github-actions
Copy link
Contributor

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.

@github-actions github-actions bot added the stale No recent activity label Oct 17, 2022
@chenrui333
Copy link
Member

they have setup up the tap for now

@chenrui333 chenrui333 added help wanted Task(s) needing PRs from the community or maintainers and removed stale No recent activity labels Oct 27, 2022
@SMillerDev SMillerDev removed the help wanted Task(s) needing PRs from the community or maintainers label Nov 6, 2022
@iMichka
Copy link
Member

iMichka commented Nov 28, 2022

Do you want to try this again with version 0.2.2 or should we close this?

@danielnachun
Copy link
Member

I think we never got a clear response as to whether we could avoid vendoring its dependencies, especially JavaScriptCore which is extremely slow to build in CI.

@iMichka
Copy link
Member

iMichka commented Dec 11, 2022

Let's close this until we got more answers and a new proposal is made with the newest version. This has been open since July 6, and it's always a bad sign when a formula takes that much time to be approved.

@iMichka iMichka closed this Dec 11, 2022
@github-actions github-actions bot added the outdated PR was locked due to age label Jan 11, 2023
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jan 11, 2023
@chenrui333
Copy link
Member

#142016

@chenrui333 chenrui333 added the superseded PR was replaced by another PR label Sep 11, 2023
@chenrui333 chenrui333 added the zig Zig use is a significant feature of the PR or issue label Apr 30, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
build failure CI fails while building the software CI-no-fail-fast Continue CI tests despite failing GitHub Actions matrix builds. go Go use is a significant feature of the PR or issue long build Set a long timeout for formula testing new formula PR adds a new formula to Homebrew/homebrew-core nodejs Node or npm use is a significant feature of the PR or issue outdated PR was locked due to age rust Rust use is a significant feature of the PR or issue superseded PR was replaced by another PR zig Zig use is a significant feature of the PR or issue
Projects
None yet
Development

Successfully merging this pull request may close these issues.