Simpler "use the correct symlink" checks

When determining whether to remove a symlink during unlinking, we check
three things:

  (a) Is the destination a symlink?
  (b) Does the destination exist?
  (c) Does the destination resolve to the source path?

However, since we know that the source path exists, (b) is guaranteed if
(a) and (c) are true. Thus checking (b) is unnecessary.

Similarly, when creating a new symlink during linking, we first check to
see if the link already exists by checking the same three criteria.
Again, checking (b) is unnecessary here.

See also the expanded test coverage in b52b579b.

Addendum: although we know that the source path exists during unlinking,
it doesn't matter. If the source path does not exist, then we still know
we have a broken symlink pointing into the keg we are unlinking, and
removing that symlink is still safe.
Use a regular conditional instead of `next unless ...`
fswatch 1.3.8

Closes #30657.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
fswatch: update 1.3.8 bottle.
czmq: fix checksum for stealth update

Closes #30636.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
libestr 0.1.9

Closes #30640.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
libestr: update 0.1.9 bottle.
python: don't install bottles on Xcode-only systems

Closes #30633.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
python3: don't install bottles on Xcode-only systems

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
JBoss Forge 2.7.0.Final

Closes #30666.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
Fix broken Perl::Curses link.

Closes #30662.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
Fix fortran flag in MPICH

MPICH changed the way the fortran flag works. Instead of using --disable-fc
and --disable-f77, it now just has one --disable-fortran. This patch updates
the formula to follow that convention.

Closes #30572.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
pstoedit: depends on xz

Closes #30622.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
python: add --with-docs option

This option will install HTML documentation.

Closes #30608.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
wine: ENV.libxml2 needed if no CLT

libxml2 support will be compiled into wine if configure finds it. But
configure will not find it in an 'XCode only' environment.

Adding ENV.libxml2 to the formula appears to resolve the issue
satisfactorily. (The formula specifies 'env :std'.)

'wine without libxml2' breaks at least one Windows InstallShield based
'exe style' installer. InstallShield is widely used to develop Windows
installer packages, so there are probably many Windows installers that
will fail in libxml2's absence.

Closes #30591.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
docker 1.1.0
docker: update 1.1.0 bottle.

Closes #30649.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
boot2docker 1.1.0
boot2docker: update 1.1.0 bottle.

Closes #30663.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
chibi-scheme 0.7