LOOKUP_PKG_RULE is called many times and spends a lot of time searching
for rules when the default rule is the most common. This simply
avoids exhaustive searching since we can determine beforehand if there
are multiple rules.
Also drops some of the gmsl functions if favour of normal make
variables.
First commit adds sort/strip so print-deps-for-build-pkg output can be
easily compared.
```
$ git checkout HEAD~1
$ time make print-deps-for-build-pkg \
MXE_TARGETS="`echo {i686-w64-mingw32,x86_64-w64-mingw32}.{static,shared}`"> orig
real 0m17.564s
user 0m16.410s
sys 0m0.783s
$ git checkout speedup
$ time make print-deps-for-build-pkg \
MXE_TARGETS="`echo {i686-w64-mingw32,x86_64-w64-mingw32}.{static,shared}`"> new
real 0m4.036s
user 0m3.624s
sys 0m0.326s
$ diff -u orig new
$
```
There are various cases where a download succeeds but the checksum
is wrong:
- upstream re-releases tarball without new version
- sourceforge returns 200 with a text message about outage
- other strange glitches
In these cases, we currently fail and stop the build. This PR allows
for falling through the next URLs until it will eventually get to
the checksum-suffixed version.
This ensures builds are always (potentially) repeatable as the checksum
associated with the version is reachable. Next step would be to change
all the backups to use suffixed tarballs.
Replaces #1742 with various fixups
- remove extraneous wget change in main Makefile
- disable docs
- enable shared/static
- fix blas/lapack libs
- install pc file
- build test
Renaming to `libpanel` causes conflicts with `ncurses` (see #1772).
There are no packages in MXE that depend on `pdcurses` any longer,
other downstream users should be able to remove any workarounds they
have in place for the current renaming.