New patch implementation and DSL

This commit introduces a new patch implementation that supports
checksums and caching.

Patches are declared in blocks:

  patch do
    url ...
    sha1 ...
  end

A strip level of -p1 is assumed. It can be overridden using a symbol
argument:

  patch :p0 do
    url ...
    sha1 ...
  end

Patches can be declared in stable, devel, and head blocks. This form is
preferred over using conditionals.

  stable do
    # ...

    patch do
      url ...
      sha1 ...
    end
  end

Embedded (__END__) patches are declared like so:

  patch :DATA
  patch :p0, :DATA

Patches can also be embedded by passing a string. This makes it possible
to provide multiple embedded patches while making only some of them
conditional.

  patch :p0, "..."
Enable new patch implementation with compatibility layer
Teach fetch to download patches
Teach audit about new patches implementation
Drop version from cached patch filenames
Add inspect methods to patch classes
glib: use checksummed patches
fontforge: use checksummed patches
cmigemo: add HEAD build

Closes #27460.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
minidlna 1.1.2 - command line DLNA server

Closes #24379.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
dos2unix --devel 6.0.5-beta7

Closes #27535.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
erlang: support 17.0 release candidates

- build 17.0 via --devel and feature flags
- optional features incl sctp, dirty schedulers, native libraries
- support wx modules incl observer using updated wxmac formula
- skip ODBC patch for head and devel as upstream has included it
- fix dialyzer test path for stable builds
- unset ERL_* compiler environment variables to avoid failed builds
erlang: update R16B03-1 bottle.

Closes #27090.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
boost: use checksummed patches
gcutil 1.14.2

Closes #27539.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
bsdmake: use checksummed patches
sbcl: use checksummed patches
pazpar2 1.6.39

add Formula for pazpar2 1.6.39

pazpar2 is a metasearch software by Index Data.

YMMV but my impression is that ICU support in the current
yaz setup does not work properly (I need an extra
dependency on icu4c for things to work correctly)
which means that ICU support in pazpar2 also does
not work (even though you typically want it).

As icu4c is called problematic, I am hesitant to
add that dependency to yaz myself. If anyone who is
familiar with both yaz and homebrew wants to discuss
this, please do get in touch.

Closes #27547.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
metaproxy 1.5.4

Closes #27546.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
a2ps: use checksummed patches