Skip to content

fix(make): drop the install recipe whose OpenSSL flags never applied - #972

Merged
ajslater merged 1 commit into
developfrom
fix-codex-install-recipe
Oct 8, 2026
Merged

ajslater merged 1 commit into
developfrom
fix-codex-install-recipe

Conversation

@ajslater

@ajslater ajslater commented Oct 8, 2026

Copy link
Copy Markdown
Owner

What

Deletes the install:: target at the top of cfg/codex.mk. It was supposed to point macOS wheel builds at Homebrew's OpenSSL.

Why

None of its lines ever reached python.mk's uv sync:

  1. $(brew --prefix) is expanded by make, not the shell, so the prefix was always empty. make -n install showed BREW_PREFIX= and paths like -L/opt/openssl@3/lib.
  2. Each recipe line runs in its own shell, so the exports ended with it.
  3. install is a double-colon target, so each install:: recipe is a separate rule, and not even .ONESHELL could carry the exports into cfg/python.mk's uv sync.

make install has kept working anyway, because nothing needs the flags:

  • uv sync --no-install-project --all-extras --all-groups --all-packages --reinstall-package cryptography --reinstall-package granian -v installs both from PyPI macOS arm64 wheels, with no Building or Built lines.
  • Checked every package in uv.lock: watchdog 6.0.0 is the only one that builds from source on cp314, and its extension links CoreServices, not OpenSSL. The other packages that ship only an sdist are pure Python.

Reviewer notes

  • cfg/codex.mk belongs to codex, so make update-devenv won't bring the target back.
  • If a future dependency does need the flags, define them as make-level exports inside an ifeq ($(shell uname -s),Darwin) block, not in a recipe.

Verification

  • make -n install no longer prints the four lines, and make install exits 0.
  • make fix makes no other changes. make lint passes, and mbake reports cfg/codex.mk valid.
  • make help still lists the Install category, minus "Configure wheel building for Darwin".
  • make test: 984 vitest and 1662 pytest passed, 1 xfailed.

🤖 Generated with Claude Code

make expanded $(brew --prefix) to an empty string, each export ran in
its own shell, and a double-colon install:: recipe cannot pass
environment to python.mk's uv sync anyway. cryptography and granian
install from macOS arm64 wheels, and the one cp314 sdist build
(watchdog) links CoreServices, not OpenSSL.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ajslater
ajslater merged commit 1b2cd41 into develop Oct 8, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant