Homebrew/homebrew — pull request #28231 by smarek (2014-04-07 20:15:55+00:00)
Title: Added Wizard install feature

I've created implementation for ticket number #28008
usage is `brew install {formula} --wizard`

This pull request is meant to do two things, code-review, as I'm not Ruby programmer, and I probably messed up horribly, and testing.

Also if anyone would know how to pass the `--wizard` option correctly into `DependencyInstaller` instance, I'd be grateful, because that is the only thing I'm missing, to configure dependencies on-the-fly

work-flow and interface looks like this:
```
$ brew install avidemux --wizard
Select dependencies to install:
✘ [0] --with-debug (Enable debug build.)
✘ [1] --without-faac (Build without faac support)
✘ [2] --without-faad2 (Build without faad2 support)
✘ [3] --without-fdk-aac (Build without fdk-aac support)
✘ [4] --without-freetype (Build without freetype support)
✘ [5] --without-frei0r (Build without frei0r support)
✘ [6] --without-lame (Build without lame support)
✘ [7] --without-libass (Build without libass support)
✘ [8] --without-libcaca (Build without libcaca support)
✘ [9] --without-libvo-aacenc (Build without libvo-aacenc support)
✘ [10] --without-libvorbis (Build without libvorbis support)
✘ [11] --without-libvpx (Build without libvpx support)
✘ [12] --without-opencore-amr (Build without opencore-amr support)
✘ [13] --without-openjpeg (Build without openjpeg support)
✘ [14] --without-opus (Build without opus support)
✘ [15] --without-qt (Build without qt support)
✘ [16] --without-rtmpdump (Build without rtmpdump support)
✘ [17] --without-schroedinger (Build without schroedinger support)
✘ [18] --without-speex (Build without speex support)
✘ [19] --without-theora (Build without theora support)
✘ [20] --without-x264 (Build without x264 support)
✘ [21] --without-xvid (Build without xvid support)
Type {number} or {numbers} separated by space to toggle their install state
Type {all} to enable all and {none} to disable all
Type {enabled} to see all enabled flags and {disabled} to see all disabled
Type {y}, {yes}, {q} or {enter} to continue with install
Type {h} or {help} to get this help
wizard: 0
✔ [0] --with-debug (Enable debug build.)
wizard: 19..21
✔ [19] --without-theora (Build without theora support)
✔ [20] --without-x264 (Build without x264 support)
✔ [21] --without-xvid (Build without xvid support)
wizard: 19..21
✘ [19] --without-theora (Build without theora support)
✘ [20] --without-x264 (Build without x264 support)
✘ [21] --without-xvid (Build without xvid support)
wizard: 4 6 8
✔ [4] --without-freetype (Build without freetype support)
✔ [6] --without-lame (Build without lame support)
✔ [8] --without-libcaca (Build without libcaca support)
wizard: 8 4 6
✘ [8] --without-libcaca (Build without libcaca support)
✘ [4] --without-freetype (Build without freetype support)
✘ [6] --without-lame (Build without lame support)
wizard: enabled
✔ [0] --with-debug (Enable debug build.)
wizard:
Wizard finished, continuing with installation
==> Installing avidemux dependency: openssl
==> Downloading https://www.openssl.org/source/openssl-1.0.1g.tar.gz
```