class Pyenv < Formula desc "Python version management" homepage "https://github.com/yyuu/pyenv" head "https://github.com/yyuu/pyenv.git" url "https://github.com/yyuu/pyenv/archive/v20151006.tar.gz" sha256 "ffc6b00103145c137031650895465bcb85fd684fc54d4b13e4e9a3e3f63cc6c9" depends_on "autoconf" => [:recommended, :run] depends_on "pkg-config" => [:recommended, :run] def install inreplace "libexec/pyenv", "/usr/local", HOMEBREW_PREFIX prefix.install "bin", "completions", "libexec" prefix.install "plugins" => "default-plugins" %w[pyenv-install pyenv-uninstall python-build].each do |cmd| bin.install_symlink "#{prefix}/default-plugins/python-build/bin/#{cmd}" end end def post_install var_lib = HOMEBREW_PREFIX/"var/lib/pyenv" %w[plugins versions].each do |dir| var_dir = "#{var_lib}/#{dir}" mkdir_p var_dir ln_sf var_dir, "#{prefix}/#{dir}" end (var_lib/"plugins").install_symlink "#{prefix}/default-plugins/python-build" end def caveats; <<-EOS.undent To enable shims and autocompletion add to your profile: if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi To use Homebrew's directories rather than ~/.pyenv add to your profile: export PYENV_ROOT=#{var}/pyenv EOS end test do shell_output("eval \"$(#{bin}/pyenv init -)\" && pyenv versions") end end