Open TheFanatr opened 1 week ago
Yea, installing formulae from paths is buggy and shouldn't be used. We should probably remove the ability to do that at some point.
To avoid this, put slang.rb
in a tap (e.g. one created with brew tap-new
) and then do brew install thefanatr/your-tap-name/slang
. Note that a tap doesn't need to be a Git repo. It would be sufficient to do something like:
FORMULA_DIR="$(brew --repository)/Library/Taps/thefanatr/homebrew-your-tap-name/Formula/"
mkdir -p "$FORMULA_DIR"
mv ../homebrew-slang/slang.rb "$FORMULA_DIR"
brew install thefanatr/your-tap-name/slang
Yea, installing formulae from paths is buggy and shouldn't be used. We should probably remove the ability to do that at some point.
Agreed ๐๐ป. Rescoping this issue to that.
brew doctor
outputVerification
brew doctor
output" above saysYour system is ready to brew.
and am still able to reproduce my issue.brew update
twice and am still able to reproduce my issue.brew install wget
. If they do, open an issue at https://github.com/Homebrew/homebrew-core/issues/new/choose instead.brew config
outputWhat were you trying to do (and why)?
I wrote a formula for Slang here. When debugging the formula locally I noticed two things: if I asked for
brew info slang
when installed, I would get the information fors-lang
; and importantly that if I install from a local ruby file likebrew install --formula --head ./slang.rb
, then after successfully running the install, it would say it will try to dobrew cleanup slang
, but this would fail by apparently trying to runcleanup
ons-lang
. When the formula is installed remote withbrew install --formula --head thefanatr/slang/slang
, this does not happen.What happened (include all command output)?
brew install --head --formula ../homebrew-slang/slang.rb
#### Error ```plaintext ==> Installing slang --HEAD ==> cmake -S. -Bbuild -GNinja -DHOMEBREW_ALLOW_FETCHCONTENT=ON -DSLANG_INCLUDE_TESTS=OFF ==> cmake --build build --parallel 12 ==> cmake --install build --strip --prefix /opt/homebrew/Cellar/slang/HEAD-6e18236 ๐บ /opt/homebrew/Cellar/slang/HEAD-6e18236: 142 files, 36.2MB, built in 43 seconds ==> Running `brew cleanup slang`... Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP. Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`). Error: /opt/homebrew/Cellar/s-lang/HEAD-6e18236 is not a directory ```
```plaintext ==> Auto-updating Homebrew... Adjust how often this is run with HOMEBREW_AUTO_UPDATE_SECS or disable with HOMEBREW_NO_AUTO_UPDATE. Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`). ==> Fetching dependencies for slang: libffi, catch2 and mimalloc ==> Fetching libffi ==> Downloading https://ghcr.io/v2/homebrew/core/libffi/manifests/3.4.6 Already downloaded: /Users/me/Library/Caches/Homebrew/downloads/2d373c9b8d06ce1d9634d08a4be79711fd482169e98bc830509aa28f3f07926d--libffi-3.4.6.bottle_manifest.json ==> Downloading https://ghcr.io/v2/homebrew/core/libffi/blobs/sha256:3c98bcb95fbcf46bdc04e0bdc87c5253a8f965edc8da1f1fe1213a9e438abc7e Already downloaded: /Users/me/Library/Caches/Homebrew/downloads/801694bba7f61c15e96432171d8a764c364a34e13317b5b844ec476c8a791996--libffi--3.4.6.arm64_sequoia.bottle.tar.gz ==> Fetching catch2 ==> Downloading https://ghcr.io/v2/homebrew/core/catch2/manifests/3.7.1 Already downloaded: /Users/me/Library/Caches/Homebrew/downloads/237805171c4583863ea3bb8c6886a971249af5846da5a1ea2591df65522f14fc--catch2-3.7.1.bottle_manifest.json ==> Downloading https://ghcr.io/v2/homebrew/core/catch2/blobs/sha256:b63c2bff461b22383d01e8edc201f50e7ecbd0590d8d0d8b3d1c481ca3c297f5 Already downloaded: /Users/me/Library/Caches/Homebrew/downloads/4d4b8c1e7530a45a2c82056a2e7011b70b77d8a911ec16f3f78aafdc40e3908f--catch2--3.7.1.arm64_sequoia.bottle.tar.gz ==> Fetching mimalloc ==> Downloading https://ghcr.io/v2/homebrew/core/mimalloc/manifests/2.1.7 Already downloaded: /Users/me/Library/Caches/Homebrew/downloads/a3640aee8b2009686d953179c1832c4a6fc881ac9bfbd1a25b16f2f5b7f05d09--mimalloc-2.1.7.bottle_manifest.json ==> Downloading https://ghcr.io/v2/homebrew/core/mimalloc/blobs/sha256:f789cf5d97f314c7d49563eee1e694fba7ce430983e4b661cd5d43312759df34 Already downloaded: /Users/me/Library/Caches/Homebrew/downloads/d9e46761b0c2ce90e693a26a8c7996a6f37c3e474db0c19ae2fe8e9c8cec6f88--mimalloc--2.1.7.arm64_sequoia.bottle.tar.gz ==> Fetching slang ==> Cloning https://github.com/MikePopoloski/slang.git Updating /Users/me/Library/Caches/Homebrew/slang--git ==> Checking out branch master Already on 'master' Your branch is up to date with 'origin/master'. HEAD is now at 6e182363 [slang][parser] Fix timeless constraint expression parsing (#1128) ==> Installing dependencies for slang: libffi, catch2 and mimalloc ==> Installing slang dependency: libffi ==> Downloading https://ghcr.io/v2/homebrew/core/libffi/manifests/3.4.6 Already downloaded: /Users/me/Library/Caches/Homebrew/downloads/2d373c9b8d06ce1d9634d08a4be79711fd482169e98bc830509aa28f3f07926d--libffi-3.4.6.bottle_manifest.json ==> Pouring libffi--3.4.6.arm64_sequoia.bottle.tar.gz ๐บ /opt/homebrew/Cellar/libffi/3.4.6: 18 files, 764.5KB ==> Installing slang dependency: catch2 ==> Downloading https://ghcr.io/v2/homebrew/core/catch2/manifests/3.7.1 Already downloaded: /Users/me/Library/Caches/Homebrew/downloads/237805171c4583863ea3bb8c6886a971249af5846da5a1ea2591df65522f14fc--catch2-3.7.1.bottle_manifest.json ==> Pouring catch2--3.7.1.arm64_sequoia.bottle.tar.gz ๐บ /opt/homebrew/Cellar/catch2/3.7.1: 230 files, 2.7MB ==> Installing slang dependency: mimalloc ==> Downloading https://ghcr.io/v2/homebrew/core/mimalloc/manifests/2.1.7 Already downloaded: /Users/me/Library/Caches/Homebrew/downloads/a3640aee8b2009686d953179c1832c4a6fc881ac9bfbd1a25b16f2f5b7f05d09--mimalloc-2.1.7.bottle_manifest.json ==> Pouring mimalloc--2.1.7.arm64_sequoia.bottle.tar.gz ๐บ /opt/homebrew/Cellar/mimalloc/2.1.7: 29 files, 603.0KB ==> Installing slang --HEAD ==> cmake -S. -Bbuild -GNinja -DHOMEBREW_ALLOW_FETCHCONTENT=ON -DSLANG_INCLUDE_TESTS=OFF ==> cmake --build build --parallel 12 ==> cmake --install build --strip --prefix /opt/homebrew/Cellar/slang/HEAD-6e18236 ๐บ /opt/homebrew/Cellar/slang/HEAD-6e18236: 142 files, 36.2MB, built in 43 seconds ==> Running `brew cleanup slang`... Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP. Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`). Error: /opt/homebrew/Cellar/s-lang/HEAD-6e18236 is not a directory ```brew cleanup slang
but
brew install --head thefanatr/slang/slang
#### No Error ```plaintext ==> Installing thefanatr/slang/slang --HEAD ==> cmake -S. -Bbuild -GNinja -DHOMEBREW_ALLOW_FETCHCONTENT=ON -DSLANG_INCLUDE_TESTS=OFF ==> cmake --build build --parallel 12 ==> cmake --install build --strip --prefix /opt/homebrew/Cellar/slang/HEAD-6e18236 ๐บ /opt/homebrew/Cellar/slang/HEAD-6e18236: 142 files, 36.2MB, built in 40 seconds ==> Running `brew cleanup slang`... Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP. Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`). ```
```plaintext ==> Tapping thefanatr/slang Cloning into '/opt/homebrew/Library/Taps/thefanatr/homebrew-slang'... remote: Enumerating objects: 6, done. remote: Counting objects: 100% (6/6), done. remote: Compressing objects: 100% (5/5), done. remote: Total 6 (delta 0), reused 3 (delta 0), pack-reused 0 (from 0) Receiving objects: 100% (6/6), done. Tapped 1 formula (14 files, 9.3KB). ==> Fetching dependencies for thefanatr/slang/slang: libffi, catch2 and mimalloc ==> Fetching libffi ==> Downloading https://ghcr.io/v2/homebrew/core/libffi/manifests/3.4.6 Already downloaded: /Users/me/Library/Caches/Homebrew/downloads/2d373c9b8d06ce1d9634d08a4be79711fd482169e98bc830509aa28f3f07926d--libffi-3.4.6.bottle_manifest.json ==> Downloading https://ghcr.io/v2/homebrew/core/libffi/blobs/sha256:3c98bcb95fbcf46bdc04e0bdc87c5253a8f965edc8da1f1fe1213a9e438abc7e Already downloaded: /Users/me/Library/Caches/Homebrew/downloads/801694bba7f61c15e96432171d8a764c364a34e13317b5b844ec476c8a791996--libffi--3.4.6.arm64_sequoia.bottle.tar.gz ==> Fetching catch2 ==> Downloading https://ghcr.io/v2/homebrew/core/catch2/manifests/3.7.1 Already downloaded: /Users/me/Library/Caches/Homebrew/downloads/237805171c4583863ea3bb8c6886a971249af5846da5a1ea2591df65522f14fc--catch2-3.7.1.bottle_manifest.json ==> Downloading https://ghcr.io/v2/homebrew/core/catch2/blobs/sha256:b63c2bff461b22383d01e8edc201f50e7ecbd0590d8d0d8b3d1c481ca3c297f5 Already downloaded: /Users/me/Library/Caches/Homebrew/downloads/4d4b8c1e7530a45a2c82056a2e7011b70b77d8a911ec16f3f78aafdc40e3908f--catch2--3.7.1.arm64_sequoia.bottle.tar.gz ==> Fetching mimalloc ==> Downloading https://ghcr.io/v2/homebrew/core/mimalloc/manifests/2.1.7 Already downloaded: /Users/me/Library/Caches/Homebrew/downloads/a3640aee8b2009686d953179c1832c4a6fc881ac9bfbd1a25b16f2f5b7f05d09--mimalloc-2.1.7.bottle_manifest.json ==> Downloading https://ghcr.io/v2/homebrew/core/mimalloc/blobs/sha256:f789cf5d97f314c7d49563eee1e694fba7ce430983e4b661cd5d43312759df34 Already downloaded: /Users/me/Library/Caches/Homebrew/downloads/d9e46761b0c2ce90e693a26a8c7996a6f37c3e474db0c19ae2fe8e9c8cec6f88--mimalloc--2.1.7.arm64_sequoia.bottle.tar.gz ==> Fetching thefanatr/slang/slang ==> Cloning https://github.com/MikePopoloski/slang.git Updating /Users/me/Library/Caches/Homebrew/slang--git ==> Checking out branch master Already on 'master' Your branch is up to date with 'origin/master'. HEAD is now at 6e182363 [slang][parser] Fix timeless constraint expression parsing (#1128) ==> Installing slang from thefanatr/slang ==> Installing dependencies for thefanatr/slang/slang: libffi, catch2 and mimalloc ==> Installing thefanatr/slang/slang dependency: libffi ==> Downloading https://ghcr.io/v2/homebrew/core/libffi/manifests/3.4.6 Already downloaded: /Users/me/Library/Caches/Homebrew/downloads/2d373c9b8d06ce1d9634d08a4be79711fd482169e98bc830509aa28f3f07926d--libffi-3.4.6.bottle_manifest.json ==> Pouring libffi--3.4.6.arm64_sequoia.bottle.tar.gz ๐บ /opt/homebrew/Cellar/libffi/3.4.6: 18 files, 764.5KB ==> Installing thefanatr/slang/slang dependency: catch2 ==> Downloading https://ghcr.io/v2/homebrew/core/catch2/manifests/3.7.1 Already downloaded: /Users/me/Library/Caches/Homebrew/downloads/237805171c4583863ea3bb8c6886a971249af5846da5a1ea2591df65522f14fc--catch2-3.7.1.bottle_manifest.json ==> Pouring catch2--3.7.1.arm64_sequoia.bottle.tar.gz ๐บ /opt/homebrew/Cellar/catch2/3.7.1: 230 files, 2.7MB ==> Installing thefanatr/slang/slang dependency: mimalloc ==> Downloading https://ghcr.io/v2/homebrew/core/mimalloc/manifests/2.1.7 Already downloaded: /Users/me/Library/Caches/Homebrew/downloads/a3640aee8b2009686d953179c1832c4a6fc881ac9bfbd1a25b16f2f5b7f05d09--mimalloc-2.1.7.bottle_manifest.json ==> Pouring mimalloc--2.1.7.arm64_sequoia.bottle.tar.gz ๐บ /opt/homebrew/Cellar/mimalloc/2.1.7: 29 files, 603.0KB ==> Installing thefanatr/slang/slang --HEAD ==> cmake -S. -Bbuild -GNinja -DHOMEBREW_ALLOW_FETCHCONTENT=ON -DSLANG_INCLUDE_TESTS=OFF ==> cmake --build build --parallel 12 ==> cmake --install build --strip --prefix /opt/homebrew/Cellar/slang/HEAD-6e18236 ๐บ /opt/homebrew/Cellar/slang/HEAD-6e18236: 142 files, 36.2MB, built in 40 seconds ==> Running `brew cleanup slang`... Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP. Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`). ```brew cleanup slang
What did you expect to happen?
The no error version for the local formula case.
Step-by-step reproduction instructions (by running
brew
commands)