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).


There's one big downside:
My builds currently don't work on Windows XP. However I'm afraid this has nothing to do with MSYS2. Many libraries have started to drop support for Windows XP, most importantly gtk3 does not support it after 3.16 [6]. This means we have two possibilites:

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