The "apply" DSL method can be called from patch-do blocks to specify
the paths within an archive of the desired patch files, which will be
applied in the order in which they were supplied to the "apply" calls.
If "apply" isn't used, raise an error whenever the extracted directory
doesn't contain exactly one file.
The "apply" method can be called zero or more times within a patch-do
block with the following syntaxes supported:
apply "single_apply"
apply "multiple_apply_1", "multiple_apply_2"
apply [array_of_apply]
If apply must be used, a single call using the second syntax above is
usually best practice. Each apply leaf should be the relative path to a
specific patch file in the extracted directory.
For example, if extracting this-v123-patches.tar.gz gives you
this-123
this-123/.DS_Store
this-123/LICENSE.txt
this-123/patches
this-123/patches/A.diff
this-123/patches/B.diff
this-123/patches/C.diff
this-123/README.txt
and you want to apply only B.diff and C.diff, then you need to use
"patches/B.diff" and "patches/C.diff" for the lowest-level apply leaves.
The code was provided by Xu Cheng. Any mistakes are mine.
The Mavericks build is fixed by using ENV.libstdcxx with clang. The
Mavericks build also can succeed without using ENV.libstdcxx if the
compiler is gcc-4.8 (or perhaps others, as well).
New options are provided for docs, lzo, gcrypt, gettext, and upx.
Accordingly, gettext is no longer a required dependency.
The build uses the sed -r option, which is not available in the
system sed, but is, in Homebrew's gnu-sed. Specifically, this
resolves the error:
/usr/bin/sed: illegal option -- r
Similarly, when --docs is enabled, the build uses the cp -d option,
which is not available in the system cp, but is, in gnu cp, which
is part of the coreutils Homebrew formula. In particular, this
avoids the error:
./portable_cp html /usr/local/Cellar/dar/2.4.13/share/dar
cp: illegal option -- d
The configure option --disable-dar-static is now always passed in
order to decrease the time it takes for configure to run. This is
suggested by the output from configure when configure finds that
static is not possible.