This project has been deprecated as it's become too much of a pain to hand-manage the dependency tree for formulas. We recommend using a Linux VM instead.
If you insist on using MacOS for development, we recommend to install Postgres 9.5 using Postgres.app.
Brew tap repository used at Catalpa. See https://docs.brew.sh/Taps.html
-
Install Homebrew See https://docs.brew.sh/Installation.html
-
Add this tap:
brew tap catalpainternational/catalpa
-
Pin this tap, so that it's prioritised over homebrew-core:
brew tap-pin catalpainternational/catalpa
-
Now brew will favor formulae inside of this repository over the ones in homebrew-core
Let's say you want to install package lanuteen
, and our production servers use version 3.1 of this package. Unfortunately, brew info lanuteen
says brew would install version 4.2. To make brew install version 3.1, you need to find the formulae lanuteen.rb
that was used in homebrew-core back when brew was installing version 3.1.
For that:
cd /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core
- Using
git log
, find the commit that updated formulae lanuteen to after v3.1 - Checkout before that commit
- copy
Formula/lanuteen.rb
from your homebrew-core repository to inside the homebrew-catalpa repository - Commit that copied formulae. Please use the commit message
lanuteen as in core/<commit_id>
.
Now all users that have tapped this repository, and pinned the tap (see above), will install version 3.1 when running brew install lanuteen
-
If you want to use bottles that exist on the homebrew bintray, you should set the
root_url
in for thebottles
part of your formula. See commit c4c518d60feed15d48ddd82205b18e807040a05a. Otherwise brew will try to find bottles at https://homebrew.bintray.com/bottles-catalpa/, which doesn't exist. -
Bottle URLs are constructed as
"#{root_url}/#{name}-#{version}.#{tag}.bottle.#{revision}.tar.gz"
. For examplehttps://homebrew.bintray.com/bottles/[email protected]
-
If a formula inside this tap depends on another formula inside this tap, the
depends_on
should explicitly mention this tap. For example in the postgis formula, we havedepends_on "catalpainternational/catalpa/postgresql"
-
For our postgresql formula, we use the bottles that Homebrew core uses for [email protected]. They were downloaded from the homebrew bintray, then uploaded to our own using:
# download from the [email protected] bottles wget https://homebrew.bintray.com/bottles/[email protected]_capitan.bottle.tar.gz mv [email protected]_capitan.bottle.tar.gz postgresql-9.5.12.el_capitan.bottle.tar.gz # upload to bintray curl -T postgresql-9.5.12.el_capitan.bottle.tar.gz 'https://username:[email protected]/content/raphaelmerx/homebrew-catalpa/postgresql/9.5.12/postgresql-9.5.12.el_capitan.bottle.tar.gz?publish=1&override=1'