As pointed out in #1218, currently the Windows nightly builds are not really compabitle with the release installers (line end character detection, strange warnings about image loading, maybe more).
Currently, the nightly builds are created with a very old toolchain (gcc 3.x) and probably outdated GTK stack.
Ideally, we use https://github.com/geany/geany/blob/master/scripts/cross-build-mingw.sh also for the nightly builds with newer Mingw toolchain and maybe even use NSIS to create full installers.
Ideally, we use https://github.com/geany/geany/blob/master/scripts/cross-build-mingw.sh also for the nightly builds with newer Mingw toolchain and maybe even use NSIS to create full installers.
Don't we create release installers on MSYS2? Would the cross-builds using somewhat outdated GTK3 and stuff be a good idea? (OK, for GTK2 it might be fine, although I'm not sure it has the latest point release of 2.24).
I didn't thought about the details much yet. Yes, the GTK bundles used by the script are a bit outdated, 2.24.10 is of 2012.
So maybe it's worth trying to get the MSYS2 packages for the GTK stack and use them. I guess the Mingw compiler toolchain can be used from distro packages.
After a quick search, I just found https://github.com/fracting/msys2-scripts which seems to run MSYS2 within Wine on Linux. Not really sure if this is a good idea, especially in terms of performance. But this way we can re-use most of the Windows build related scripts.
Or we try to fetch packages from the MSYS2 mirrors, extract them and setup paths accordingly. This is probably a cleaner way :).
I have a bit more spare time in October and hopefully can work on this then.
@eht16 Does the hosting provider offer Windows machines, or even running a VM on the existing server?
In theory, we could run a VM on the server. But I personally find it overkill just for nightly builds and we would need a license as well. I think cross-compiling for the nightly builds is fine, it just needs some initial efforts.
@eht16 yeah, though continuous integration is important and it's better (and easier) when it's testing the actual build than a different cross-compilation build. We could purchase a license using donations money.
Alternatively, maybe we could use [AppVeyor](https://www.appveyor.com/)?
Once I suggested to buy a Windows license but not only for nightly builds but rather for developing Geany on and for Windows. But there was not much accordance.
Then you still need a VM just for Windows builds.
No idea about AppVeyor. It would be one more external service we make us dependent on (next to TravisCi and especially GitHub). Nightly builds/CI is nothing critical and so instantaneous unavailability of their service won't kill the Geany project but still we put more data into other, foreign companies and rely on their goodwill.
Anyway, I don't mean to block this. Just don't volunteer for either of these solutions.
Have you heard about ReactOS? http://reactos.org
Nice idea actually. Unfortunately, I was not able to get MSYS2 running. Recent MSYS2 versions seem to require Windows 7 features which are not present in ReactOS (maybe not yet). Older MSYS2 versions can be installed but the terminal is empty and so unusable.
These problems might get fixed in ReactOS or can be even solved by configuration or anything. But this would require some time for debugging and experimenting.
I somewhat changed (or at least relaxed) my mind about AppVeyor. It might be nice to have even if we depend on them then for nightly/CI builds. Still better than the current situation with nightly Windows builds which are of not much use because of the different tool chain.
Then we could drop the cross-compilation on Travis.
Anyone volunteering for having a look at AppVeyor and trying to get something running?
I might have a crack at getting Appveyor running for us with at least msys2, but beyond `make && configure` to test compilation, I'm not really sure what else is involved to make a nightly release installer or the overlaid files like the current nightlies.
@codebrainz even if it just made the build run for now, so we can take the flakey cross builds out of Travis would be a good start :)
Nightly builds will be revamped in #2592.
Closed #1241.
github-comments@lists.geany.org