As a package maintainer, though, one thing surprised me: you can't make your package depend on a specific version -- even a major version -- of a library.
So if MyApp uses YourLib 1.0, everything is fine until YourLib 2.0 comes out, at which point users doing `brew install myapp` will start getting cryptic compiler errors. I have no choice but to drop whatever I'm doing and make MyApp compatible with YourLib 2.0, which may even be impossible.
It's just odd because otherwise Homebrew is so well designed. It seems like a weird omission.
Edit: Some packages get around this by packaging major versions separately (qt, qt5) but most don't.
As a package maintainer, though, one thing surprised me: you can't make your package depend on a specific version -- even a major version -- of a library.
So if MyApp uses YourLib 1.0, everything is fine until YourLib 2.0 comes out, at which point users doing `brew install myapp` will start getting cryptic compiler errors. I have no choice but to drop whatever I'm doing and make MyApp compatible with YourLib 2.0, which may even be impossible.
It's just odd because otherwise Homebrew is so well designed. It seems like a weird omission.
Edit: Some packages get around this by packaging major versions separately (qt, qt5) but most don't.