The Missing Package Manager for macOS (or Linux)

Technologies
ruby, bash
Topics
package managers, linux, package management, macos
The Missing Package Manager for macOS (or Linux)

Homebrew is a package manager for macOS and Linux that aims to make it easy and straightforward for users to install the software they need. Package definitions are written in easy-to-read Ruby scripts, making it easy for the community to contribute changes and updates to packages. Homebrew primarily distributes binary packages.

Homebrew is divided into several projects.

  • Homebrew - The core package manager repository.
  • Homebrew Cask - A tool to automate management of macOS GUI installers using the commandline.
  • Homebrew-core - The package definitions used on macOS.
  • Linuxbrew-core - The package definitions used on Linux.
2020 Program

Successful Projects

Contributor
rmnull
Mentor
Misty De Méo, Shaun Jackman, William Woodruff
Organization
Homebrew
replace shell `patchelf` and `readelf` with ruby equivalents
Refactor keg, keg_relocate and elf.rb modules to use rbelftools and patchelf.rb instead of calling shell commands. Patchelf.rb is doesn't work well...
Contributor
Vidushee Amoli
Mentor
Misty De Méo, Issy Long, Mike McQuaid
Organization
Homebrew
Add support for type checking using Sorbet
The majority of the code in Homebrew is written in Ruby which is a dynamic language. This means that types are checked when the code is run. My...
Contributor
Nanda H Krishna
Mentor
Sean Molenaar, rui, Sam Ford, Thierry Moisan
Organization
Homebrew
Adding a livecheck Formula DSL and migrating Livecheckables to home-brew/core
DSLs or domain-specific languages are written in order to serve a highly specific purpose. Currently, Homebrew has DSLs for various purposes, in...