Homebrew Tap

Posted on  by admin
  • Homebrew-tap Homebrew formulae that allows installation of AWS tools through the Homebrew package manager.
  • The tap command allows Homebrew to tap into another repository of formulae. Once you've done this you've expanded your options of installable software. These additional Git repos (inside /usr/local/Homebrew/Library/Taps) describe sets of package formulae that are available for installation.
  • We Are Keystone Homebrew. If you can dream it, we can help you brew it at Keystone Homebrew. As one of the largest, full-service homebrew and wine making supply stores in the area, we have all of the equipment you need to achieve the perfect liquid satisfaction.

Some Terminology and Background¶

Homebrew Kits and Home Brewing Supplies. HomeBrewing.com is the authority on homebrewing, homebrew supplies and equipment. We continuously monitor the homebrew market in order to bring you the best homebrew equipment choices, prices, reviews and deals available online from our network of homebrew shop partners.

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.

List

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.

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

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.

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:

Homebrew tap systemHomebrew tapping

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

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.

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. ↩

Due to the ongoing coronavirus outbreak we have decided to bring Homebrew Tap to you! Please follow the simple steps below to enjoy fresh draught beer, artisan spirits and handpicked wines in the comfort of your own home.

Homebrew Tap Cask

Please note our deliveries are Thursday until Saturday. Orders placed before 3pm will be delivered on the same day.

Step 1

Browse through our current stock list below and create your own shopping list. We have broken each list down for you into Beer and Wines.

Github Homebrew

Step 2

Homebrew

Simply fill out the order form below and we will generate a invoice so payment can be made. We will then contact you about a delivery time and any additional information regarding your order.

Please note is there a minimum delivery spend of £10. Any orders placed before 3pm will be the same day. Any order placed after 3pm will be delivered the next delivery day.

Step 3

Once your payment has been made and order processed we will simply deliver your items to your doorstep and wait from a safe distance until they are collected.

Then all that is left to do is sit back and enjoy.