Homebrew Tap



  1. Homebrew Tap Vs Cask
  2. Homebrew Beer Recipes
  3. Brew Remove Tap

Today I’d like to announce Homebrew 2.2.0. The most significant changes since 2.1.0 are macOS Catalina support, performance increases and better Homebrew on Linux ecosystem integration.

Major changes and deprecations since 2.1.0:

  • https://formulae.brew.shdisplays Linux formulae. When on Linux, brew info outputs Linux analytics data.
  • Homebrew now uses OpenSSL 1.1. OpenSSL 1.0 has been removed as it was EOL by the end of 2019.
  • Homebrew will remove Python 2.7 by the end of 2019 as it will be EOL.
  • brew tap-pin is disabled. It was buggy and unused by Homebrew maintainers. Directly reference formulae (e.g. brew install user/tap/formula) or rename formulae in taps to avoid shadowing Homebrew/homebrew-core formulae instead.

Other changes since 2.1.0 I’d like to highlight are the following:

  • brew create has --rust and --python options.
  • brew audit checks bitbucket.com and gitlab.com repositories for notability.
  • Homebrew uses GitHub Actions CI for all non-core repositories.
  • uses_from_macos is a new formula DSL that allows formulae to declare that they use a dependency from the macOS system (rather than from Homebrew). This is useful for additional metadata and automatically installing that dependency on Linux.
  • Setting HOMEBREW_CURL_RETRIES retries curl downloads that fail.
  • brew bump-revision increases the revision of formulae.

Finally:

  • Many Homebrew maintainers will be attending FOSDEM 2020 (say hello!) and will have our AGM afterwards on 3rd February to elect a PLC and Project Leader.
  • Homebrew now accepts donations through GitHub Sponsors and still accepts donations through Patreon. If you can afford it, please consider donating. If you’d rather not use GitHub Sponsors or Patreon (our preferred donation methods), check out the other ways to donate in our README.

Thanks to all our hard-working maintainers, contributors, sponsors and supporters for getting us this far. Enjoy using Homebrew!

1 day ago  The tap is spring loaded to shut off automatically. When I first put it together everything worked fine. However the tap has gotten really stiff, keep in mind nothing has been ran through it yet. I was going to take it apart, clean and lube it but it wont come apart. When you use brew tap on the command line, however, you can leave out the ‘homebrew-‘ prefix in commands. That is, brew tap username/foobar can be used as a shortcut for the long version: brew tap username/homebrew-foobar. Brew will automatically add back the ‘homebrew-‘ prefix whenever it’s necessary. Formula with duplicate names.

Some Terminology and Background¶

Homebrew is a fantastic package manager written in ruby. A package in Homebrew is built with a formula, and all formula-based packages can be and must be capable of being built from source1. Since many FOSS projects use git these days, you can even specify the git repository and how to build from it in the homebrew formula.

For example:

would git clone the latest gcc sources and build gcc using the formula provided in Homebrew.

Homebrew is also very flexible and secure as it doesn't need root privileges for its packages.

Homebrew can turn a build into a re-distributable Bottle. Homebrew works on both Linux and Mac and hosts its core repository at https://github.com/Homebrew/homebrew-core.

Homebrew

When you use brew tap on the command line, however, you can leave out the 'homebrew-' prefix in commands. That is, brew tap username/foobar can be used as a shortcut for the long version: brew tap username/homebrew-foobar. Brew will automatically add back the 'homebrew-' prefix whenever it's necessary. Formula with duplicate names. Purchase a home beer dispenser today & enjoy draft beer anytime. Find the lowest priced home kegerator at Kegerator.com. 📦 Bundler for non-Ruby dependencies from Homebrew, Homebrew Cask and the Mac App Store. Ruby homebrew tap bundle cmd Ruby MIT 230 3,638 2 (2 issues need help) 0 Updated Apr 19, 2021.

Lastly, Homebrew has taps which are third party formula repositories that a user can install from.

Homebrew Tap Vs Cask

Why Make a Homebrew Tap?¶

Recently, Bluespec open sourced their BlueSpec Verilog Compiler(bsc) 2. I wanted to build a homebrew formula and submit it to homebrew-core. Homebrew has strict requirements for formula they accept to homebrew-core.

The one that got me in trouble is:

If the source for the software to be built is hosted on GitHub, a canonical 3 versioned/git-tagged Github release tarball must be used as the source for the build of the formula.

Basically, as of the time of the writing of this article, the BSC maintainers do not have a Github release.

If I can't contribute a formula to homebrew core, I can still create my own tap.

Homebrew Tap

Making a Tap and Bottle¶

I created my own tap at bracketmaster/homebrew-rtl which contains some formulas for building FOSS RTL and FPGA tools such as NextPnr and bsc.

To install these formulas, I do:

You may notice that homebrew poured bottles instead of building bsc from source. You may also notice the bottles are hosted using Github Releases.

Basically, I created a versioned release on Github with all the tarred sources for various formulas4 I also uploaded the bottles brew generated when building my formulas the first go round.

Generating your first brew bottle is easy. For example wit NextPnr:

Where root-url is the Github Releases url you plan to upload the bottle to.

Homebrew Beer Recipes

You should see a file in your current directory that looks something along the lines of nextpnr-1.0.catalina.bottle.tar.gz.

Go ahead and upload that to your Github Releases and paste the bottle do/end stanza into your homebrew ruby formula.

Brew Remove Tap

Homebrew tap oxton
  1. I specify formula-based packages because Hombrew also supports the installation of Casks which in MacOS are MacOS native 'apps' that end in .app such as Chrome.app. ↩

  2. Anounced here to be open sourced on January 31, 2020. Interestingly enough, at the time of the writing of this article, https://bluespec.com still does not have a link on their website pointing to the source code location. But, after scouring around on the internet, this Reddit post notes that the source is located here. ↩

  3. Canonical basically means that the Github Repo is not a fork. ↩

  4. Worth noting that as of this writing, Github does provide a URL API that allows you to download a repository as a tar. But the provided tarball doesn't contain submodules or the .git which is a problem for software that builds version info from the git commit. Also worth noting that Github releases also use this same URL API. ↩