Skip to content

meshtastic 2.7.8 (new formula)#281077

Draft
yunhao-jiang wants to merge 1 commit intoHomebrew:mainfrom
yunhao-jiang:meshtastic
Draft

meshtastic 2.7.8 (new formula)#281077
yunhao-jiang wants to merge 1 commit intoHomebrew:mainfrom
yunhao-jiang:meshtastic

Conversation

@yunhao-jiang
Copy link
Copy Markdown

@yunhao-jiang yunhao-jiang commented May 5, 2026


  • 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 HOMEBREW_NO_INSTALL_FROM_API=1 brew install --build-from-source <formula>?
  • Is your test running fine brew test <formula>?
  • Does your build pass brew audit --strict <formula> (after doing HOMEBREW_NO_INSTALL_FROM_API=1 brew install --build-from-source <formula>)? If this is a new formula, does it pass brew audit --new <formula>?

  • AI was used to generate or assist with generating this PR. Please specify below how you used AI to help you, and what steps you have taken to manually verify the changes.

First-time contributing to homebrew-core and there might be places I've missed (more test required, etc.?), please let me know! Thanks

The original repo: https://github.com/meshtastic/python

@github-actions github-actions Bot added python Python use is a significant feature of the PR or issue new formula PR adds a new formula to Homebrew/homebrew-core rust Rust use is a significant feature of the PR or issue labels May 5, 2026
Comment thread Formula/m/meshtastic.rb

depends_on "rust" => :build
depends_on "libyaml"
depends_on "python@3.14"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
depends_on "python@3.14"
depends_on "certifi" => :no_linkage
depends_on "python@3.14"
pypi_packages exclude_packages: "certifi"

Also remove rust dependency as that is only require for certifi, no?

and then rerun brew update-python-resources. Might need to rerun brew style --fix too

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

You forgot to run brew update-python-resources since the certifiressource is still present (and thus duplicated)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

so yeah, you do need rust but for bleak

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

Thanks! Just added it back! Looks like I should test on Linux in addition to macOS to make sure everything builds haha. A little different from contributing to the casks repo. Thanks a lot!

One question however -- it seems bleak does not need rust on macOS, should I keep it like this? (only Linux dependency requires rust but not macOS) OR should I revert back to my original where everywhere requires rust (removes the certifi dependency and also let that build from the source)

Comment thread Formula/m/meshtastic.rb
end

test do
assert_match "usage:", shell_output("#{bin}/meshtastic --help")
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Also you should indeed add more tests, as version test can be used together with other tests (like as an addition) but not as the only test. Testing is here only so we know that compilation and other build steps where successful (by running the binary).

See https://docs.brew.sh/Formula-Cookbook#add-a-test-to-the-formula

Copy link
Copy Markdown
Author

@yunhao-jiang yunhao-jiang May 5, 2026

Choose a reason for hiding this comment

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

For this part, I'm having a little hard time as this software controls an external hardware. If no external hardware is connected, it would be difficult to test the functionality. Do you have any recommendations in such case? (i.e. should I test for failure instead? like meshtastic --info should return False)

Thanks!

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

i.e. should I test for failure instead?

Yes for example if it needs to connect to a device, try to run a command that would only work if it is connected, and check that it successfully failed.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 5, 2026

Thanks for contributing to Homebrew! 🎉 It looks like you're having trouble with a CI failure. See our contribution guide for help. You may be most interested in the section on dealing with CI failures. You can find the CI logs in the Checks tab of your pull request.

@GunniBusch
Copy link
Copy Markdown
Contributor

PyObjC is only relevant on macOS.

so add below the depends_on:

  on_macos do
    depends_on "llvm" => :build if DevelopmentTools.clang_build_version <= 1699
  end

  fails_with :clang do
    build 1699
    cause "pyobjc-core uses `-fdisable-block-signature-string`"
  end

and replace your install block with

    if OS.mac?
      ENV.append_to_cflags "-isysroot #{MacOS.sdk_path}"
    else
      without = resources.filter_map { |r| r.name if r.name.start_with?("pyobjc") }
    end
    virtualenv_install_with_resources(without:)
    

@github-actions github-actions Bot removed the rust Rust use is a significant feature of the PR or issue label May 5, 2026
@yunhao-jiang yunhao-jiang force-pushed the meshtastic branch 3 times, most recently from 60e1137 to 5ef76ea Compare May 6, 2026 00:21
@github-actions github-actions Bot added the rust Rust use is a significant feature of the PR or issue label May 6, 2026
@yunhao-jiang yunhao-jiang force-pushed the meshtastic branch 4 times, most recently from 1515e77 to af15c23 Compare May 6, 2026 01:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

new formula PR adds a new formula to Homebrew/homebrew-core python Python use is a significant feature of the PR or issue rust Rust use is a significant feature of the PR or issue

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants