Hi all,
one of the biggest changes in current trunk is the switch to gtk3.
As some of you already know this step will be a hard one on Windows as we have to rely on pre-built development libraries to be able to compile Inkscape:
As a result we're currently not able to build Inkscape for 32-bit Windows at all (bug 1609954 [1]) and builds with devlibs64 are nowhere close to be usable.
Therefore I want to propose to switch to MSYS2 for compiling
Inkscape trunk on Windows!
MSYS2 is a rewrite of MSYS including all the necessary build
tools to compile native applications for Windows using mingw-w64
(see official homepage [2] for details). Furthermore it includes
the package manager "pacman" (users of Arch Linux will know it)
which allows to conveniently install and upgrade packages.
The switch would have a *lot* of advantages:
I'm already successfully building current trunk with MSYS2
without any issues at all (there are no code changes needed, only
environment variables have to be adjusted and the CMake install
target has to be adjusted to pick up the correct libraries). If
you're interested you can find the latest builds at [5] (the most
obvious change is the Adwaita theme that is now used by gtk3 by
default but doesn't look very native. However that's something we
can customize going forward as desired).
I thought about this for some time now and although it was not an
easy decision I'd vote for the first option. I know people still
use Windows XP in productive environments (I have an old Windows
XP server running myself - shame on me) but to be realistic it's
time to move on. Support for XP ended a long time ago, it's
insecure and there's only very few cases where people are actually
bound to XP for other reasons than convenience. Weighing all the
pros and cons I'd say the pros clearly prevail!
So: Let me know what you think!
Does a switch to MSYS2 as build system sound reasonable to you?
Is Windows XP support something we have to keep even if it means a
huge amount of additional effort and requires us to limit
ourselves on newer platforms on purpose?
Looking forward to you thoughts,
Eduard
[1] https://bugs.launchpad.net/bugs/1609954
[2] http://www.msys2.org/
[3] https://github.com/Alexpux/MINGW-packages
[4] https://github.com/Alexpux/MINGW-packages/pull/2194
[5] http://download.tuxfamily.org/inkscape/win64/
[6]
https://github.com/GNOME/gtk/blob/24483481c1eaa6e3bad9f158e2d4d3ef21505d9b/NEWS#L2340