Fixing overlaps between Ports and distro
Walking a new user through installing Ports last week, I saw first hand
how difficult it really is to get all the dependencies pulled in when
installing in separate steps. As such, I think that some changes need
to be made to allow a simultaneous install, which should DTRT without
the headaches.
The reason the whole song-and-dance is necessary is that there are
overlaps between Ports packages and the distro's. In such a case,
setup.exe will decide which is newer solely based on the timestamp of
the setup.ini. Since the distro setup.ini is rebuilt every 10 minutes,
it will inevitably be newer and the distro versions will be preferred
instead of Ports' (hence the need for the sed call). Therefore, perhaps
the easiest solution is to eliminate these overlaps, so that Ports is
purely an addition to the distro (instead of a partial replacement), and
AFAIK setup.exe can easily deal with that.
The problem used to be *much* worse until last year. By taking over
Cygwin/X, I was then finally able to update the GNOME libraries, which
removed the bulk of the overlaps. Here is a summary of the remainder:
* Boost
Distro package is orphaned. The Ports package seems to be working, but
Boost is HUGE and needed a lot of work to de-Win32-ify it; it's hard to
say that it's 100%, given its size.
* CMake
Unlike distro/upstream, Ports' CMake does not define WIN32, which more
often than not is used by packages to mean MinGW/MSVC/GDI/etc. The
distro package is maintained by an upstream dev; some progress has been
made in merging my patches[1], but until WIN32 is undefined then e.g.
(Continue reading)