spack/var
George Hartzell bfb45ba1ce Tighten up graphviz package (explicitly disable unused languages, etc...) (#4408)
* Tighten up graphviz package

The fun started when configure discovered a broken/partial
installation of `swig` in `/usr/local`, then auto-discovered my
system's python and ruby packages.

- SpackException doesn't seem to exist.  Convert it to a SpackError
  and call `.format(...)` on the error string to fill in the
  placeholder.

- Pull swig out of the list of languages.  It's something that can be
  asked for explicitly and that is needed if *any* of the langagues
  are enabled.  It's disabled by default.

- Explicitly disable the languages that are in "untested_bindings"
  list lest the configure script pick up things from the system.

* Touch up variant description string

* Clean up conditional statement

* Use InstallError, not SpackError

* Drop the swig variant

Get rid of the swig variant and drive that bit based on whether any
languages are enabled.

* Move perl to the untested list

That's not strictly accurate.  I tested it and it doesn't work.

There's a missing depends_on().  When you add that you'll discover
that the language binding bit can't find Perl's 'EXTERN.h'.  Then
you'll discover that graphviz's `configure` script doesn't have a good
way to include the paths to Perl's bits (looks like I'll have to
gather them for each language and then use them to build `CFLAGS` and
`CXXFLAGS` and `LDFLAGS`).  While pondering that, you'll discover that
EXTERN.h is buried down here:

```
opt/spack/linux-centos7-x86_64/gcc-4.8.5/perl-5.24.1-35ejv4426dmzreum4ekdibu3ddmhquvi/lib/5.24.1/x86_64-linux/CORE/EXTERN.h
```

and decide that you wish you had never thought to actually test
`graphviz+perl`.

I could find that directory with a snippet like so:

```
perl -MConfig -e 'print "$Config{archlib}\n"'
```

but at this point I'm much, much further down this rabbit hole then I
ever wanted to go.

* Convince python that tested_bindings is a list

When I removed `+perl` and made `tested_bindings` a list of one
thing, I ended up with this:

```
==> Error: cannot concatenate 'str' and 'tuple' objects
```

* Flake8 cleanup

* Don't convert a string to a string

* rm unused () and clarify variable name

Feedback from @adamjstewart

- Get rid of some unnecessary parens.
- Clearer variable name and use.

* Further cleanup of language enabling loop

Now we don't need that pesky temporary variable.
2017-06-05 13:02:39 -05:00
..
spack Tighten up graphviz package (explicitly disable unused languages, etc...) (#4408) 2017-06-05 13:02:39 -05:00