Homebank 4.5

Closes #17258.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
scm-manager 1.26

Closes #17257.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
arangodb 1.1.2

Closes #17256.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
libpar2 subformula, gnutls to openssl - nzbget

As nzbget was the only formula using libpar2, have changed it into a subformula that gets installed to nzbget's libexec. Also added patches to libpar2 from nzbget, as libpar2 upstream hasn't had any activity in years. The patches are bugfixes and add the ability to cancel par2 repair. They are required for the latest nzbget.

Have moved from gnutls to openssl for nzbget, as gnutls was causing issues, and wasn't necessary when OS X provides openssl. Have tested with openssl, no issues found, and no errors that gnutls was exhibiting.

Closes #17251.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
serf: depend on sqlite

apr-util will add a linkage to sqlite, even though serf doesn't use it
(from what I can tell). But when serf is linked with subversion, they
need to reference the same sqlite or bad things happen.

Closes #17172.
Add tests for ENV.with_build_environment
Add tests for ARGV.filter_for_dependencies
requirements: enable userpaths by default during evaluation
Infer path to be added for requirements that search PATH

When a requirement is specified like:

  satisfy { which "foo" }

There is no reason that we should inject all of ENV.userpaths! into the
build environment. Instead, infer the directory to be added to PATH from
the Pathname that is returned.

This is another step towards condensing the "which program" requirements
down into a one-liner DSL element.
superenv: allow -W[alp], style arguments to pass through

We already (correctly) allow -Wl, style linker arguments to pass
through; extend this to -Wp, (preprocessor) and -Wa, (assembler).

Fixes #17252.
Clean up Tab creation
Move option comparison into BuildOptions
Options can be used interchangeably with Strings

We want to be able to use Option objects in place of strings and have
this be transparent. Defining to_str means that methods like
Kernel#system and Kernel#exec will be able to perform an implicit
conversion.
Options can be dumped as JSON
BuildOptions: simplify setting description
BuildOptions: check has_option? for universal and 32-bit
Refactor option handling internals

Currently we handle options in several ways, and it is hard to remember
what code needs an option string ("--foo"), what needs only the name
("foo") and what needs an Option object.

Now that Option objects can act as strings and be converted to JSON, we
can start using them instead of passing around strings between Formula
objects, Tab objects, and ARGV-style arrays.

The Options class is a special collection that can be queried for the
inclusion of options in any form: '--foo', 'foo', or Option.new("foo").
Move BuildOptions to a separate file
Tests for BuildOptions
Tab#with? to mirror BuildOptions#with?

Eventually a common interface could be factored out into a module, but
for now this will suffice.