Skip to content
MavergreenPublic

About

Port modern binaries to Mac OS X 10.9

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Drydock

Source code can often be adjusted to build and run on Mavericks. When all you have is a binary executable, there's Drydock.

Example usage

To adapt Claude Code to load and run, Mavericks Forever's installer needs a sequence of patch_macho, add_version_min, and change_dylib commands. Here's the equivalent script in Drydock's little language:

cat >drydock-claude <<EOF
fixups        set      classic
minos         at-most  10.9
load-command  delete   uuid
load-command  delete   codesig
dylib         replace  /usr/lib/libSystem.B.dylib   @loader_path/../S.dylib
dylib         replace  /usr/lib/libicucore.A.dylib  @loader_path/../I.dylib
dylib         replace  /usr/lib/libc++.1.dylib      @loader_path/../c++.1.dylib
EOF
drydock-macho-rewrite claude claude-mavericks < drydock-claude
./claude-mavericks

drydock-macho-rewrite

Given instructions on stdin, write a modified copy of a Mach-O executable.

See drydock-macho-rewrite(1) for script syntax, operations, queries, and limitations.

drydock-macho-rewrite incorporates functionality (and sometimes code) from a variety of tools. To aid migration, compatibility wrappers are available:

(The wrappers will probably go away at some point, so take their guidance and change your call sites.)

Other related tools

  • install_name_tool from the Mavericks Command Line Tools
  • llvm-install-name-tool from clang

About

Port modern binaries to Mac OS X 10.9

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages