- Installing a formula
- working with neovim
- Working with OpenSSH from this tap
- Working with osxfuse
- Working with fuse-ext2
- Working with QEMU
- Gotchas
- Maintenance
- Miscellanous
- Development
- development / freecad
- TODOs
An off beat repo for storing custom β ales and lagers β to make your life a little b1t easier.
To install formula from this repo
brew tap ipatch/homebrew-us-05
brew install ipatch/homebrew-us-05/[name-of-formula] [--with-options]
Example
brew install ipatch/us-05/openssh --verbose --build-from-source --with-ldns
To upgrade a formula that has been installed via this tap
brew reinstall ipatch/us-05/[name-of-formula] --verbose --build-from-source
When attempting to install neovim on a box where macports installation exists in /opt/local
the neovim configure scripts will find the support files in the macports installation before the homebrew installation (that's a no no) and will lead to a failed installation. my quick hack rename /usr/local/
(macports installation path) to something else, ie.
mv /opt/local /opt/localllll
undo the name change after the homebrew installation of neovim completes. learn more
When installing OpenSSH from this repo LibreSSL install from tarball and not git source head
When upgrading or install OpenSSH from this repo, a few files will need to have their permissions changed.
cd /usr/local/etc/ssh
sudo chown root:wheel *_key
sudo chmod 600 *_key
- change permissions, owner, and group of above mentioned files when installing formula.
If LibreSSL has been updated from mainline Homebrew, ie. upgrading from v2.7.x to v2.8.x then this version of OpenSSH will need to be reinstalled from this tap.
The last version of osxfuse to have a open source license without using a prebuild binary is version 3.8.3, per this github issue
I recently reinstalled osxfuse so i could have write support for NTFS filesystems without having to spin up a virtual machine for write purposes. I created a cask based formula file within this repo to store the last open source version of osxfuse as mentioned above.
For getting write support to NTFS file systems after installing ntfs-3g
using brew, reference
sudo mv /sbin/mount_ntfs /sbin/mount_ntfs.apl
sudo ln -s /usr/local/sbin/mount_ntfs /sbin/mount_ntfs
- fuse-ext2 is a program that allows working with ext-{2,3,4} file systems on macOS, and provides both read and write support.
To install fuse-ext2 from this repo using homebrew
brew tap ipatch/homebrew-us-05
brew install ipatch/homebrew-us-05/fuse-ext2 --verbose
As of September 17, 2018, e2fsprogs needs to be unlinked after installing fuse-ext2
To manually unlink e2fsprogs
brew unlink e2fsprogs
To manually link fuse-ext2
brew link fuse-ext2
To install Qemu from this homebrew πΊ repo
brew install ipatch/homebrew-us-05/qemu \
--verbose \
--with-docs \
--with-libusb \
--with-hvf \
--with-hax \
--HEAD
If a formula is installed from this repo ie. qemu with options, passed to the install
command, ie. --with-hax
homebrew has issues running the reinstall command even with the --build-from-source
flag. To work around this, run see my Q/Abrew remove [name-of-formula]
to uninstall the package, and then reinstall the package with the flags provided form the previous install.
To pull down updates from this tap from time to time or when an upstream change has been made
brew update
Installing universal ctags requires its own work around, learn more
When working with formula locally for debugging purposes specify a local filesystem path, make sure to add .rb
brew [re]install /path/to/some/local_formula.rb
π‘ set the following env var $HOMEBREW_NO_AUTO_UPDATE to 1 preventing mac homebrew from auto updating everytime a
brew install
cmd is run, thus greatly speeding up the process of local formula development.βοΈ
brew reinstall
is problematic a majority of the time, so when experimenting with local formula when developing usebrew install [/path/to/formula.rb]
π¨ recently i've had difficulty installing a formula that has a similar name with that of a formula from a installed tap, ie. installing
freecad.rb
locally was resulting in conflicts of sorts, so created a unique name, ie.freecad-dev.rb
and am able to install & test formula file locally without doing the, git add, commit, push brew update, brew install routine. the above mentioned brew [re]install cmd is all that is requiredπ¨ if there are any sytnax errors within the formula file the brew cmd will fail with a shitty error message, ie. not letting the user (developer) know the formula file contains a error mesage (more than likely a syntax error) but rather complains it cannot find the specified formula.
- development of cask(s) formula files will live within,
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask
, path may vary depending upon how homebrew is installed and the current OS that homebrew is running on. - development of cask(s) formula files that represent app bundles that are considered development, beta, or unstable releases live within
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask-versions
Before submitting a PR for a cask upstream run through the below check
brew cask audit --download {{cask_file}}
brew cask style --fix {{cask_file}}
brew cask (re)install {{cask_file}}
brew cask uninstall {{cask_file}}
-
renamed the freecad cask within this repo (homebrew tap) to not conflict with either the hombrew-cask-versions,
freecad-pre
, to have a cask specific to this tap,freecad-ipre
, prepended ani
to the cask name in reference to my github username. -
github / @kapcake created a cask.formula for freecad pre release, but appears to not have been updated in ~ a year. learn more
i moved all freecad related notes within its own README
to show a list of configuration settings
cd ./build; cmake -L ..
apparently explicitly setting CC
and CXX
env vars in .cmake
files can lead to complications, the preferred way to set a specific CC
& CXX
compiler is to use env vars export CC=/path/to/c-compiler
before running cd ./build; cmake ..
- stackoverflow / git checkout a specific commit for a formula
- docs.brew.sh / formual cookbook
- GitHub / Homebrew Formula Cookbook
- github / homebrew-tiny-scripts tap
within the above repo there is a shell script,
cask-repair
that should do the bulk of the work updating a cask that is often updated frequently, as opposed to manually editing the cask file - github / repo for actual tiny scripts NOT the tap repo
- medium, creating relocatable linux exe by setting RPATH
- macports.org, clang does not respect
-syslibroot
when linking
- https://github.com/Rylan12/homebrew-development useful homebrew tap for maintaining homebrew formula
- update homepage URLs for certain freecad dependencies, pivy bb URL,
- review git repo for developing homebrew bottle
- experiment with brew.vim sytnax & filetype files