<div dir="ltr"><div><div>Hi Hugo!<br><br></div>I'm a C++ dev that just started working on the QGIS project, and I gotta say the OSGeo4W build system is something I had avoided so far because of its complexity.<br></div>I'd be happy to help with testing and coding in this project, although I might need some time (and some pointers) to get up and running.<br><div class="gmail_extra"><br></div><div class="gmail_extra">AndrĂ©<br></div><div class="gmail_extra"><br><div class="gmail_quote">2017-04-27 13:23 GMT-03:00 Hugo Mercier <span dir="ltr"><<a href="mailto:hugo.mercier@oslandia.com" target="_blank">hugo.mercier@oslandia.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
We've been involved recently in windows packaging based on osgeo4w. Some<br>
of our customers needed binaries for windows for some of our projects<br>
which require a recent C++ compiler.<br>
<br>
We would like to share and discuss our current infrastructure and see if<br>
there are some shared interests.<br>
<br>
We've setup a compilation / CI infrastructure based on Gitlab CI that<br>
triggers Virtual box virtual machines for the actual compilation and<br>
packaging.<br>
We use Windows 10 "development" VM<br>
(<a href="https://developer.microsoft.com/en-us/windows/downloads/virtual-machines" rel="noreferrer" target="_blank">https://developer.microsoft.c<wbr>om/en-us/windows/downloads/vir<wbr>tual-machines</a>)<br>
with Visual Studio 2015.<br>
It allows us to have a common clean compilation environment.<br>
Here is an example of a build log:<br>
<a href="https://gitlab.com/Oslandia/tempus_core/builds/14314756" rel="noreferrer" target="_blank">https://gitlab.com/Oslandia/te<wbr>mpus_core/builds/14314756</a><br>
<br>
For now, one of our server "supersedes" the official osgeo4w http<br>
repository so that we have our own osgeo4w repository for our packages<br>
and still benefit from updated packages from osgeo4w.<br>
You can have a look at the packages we have so far here:<br>
<a href="http://osgeo4w.oslandia.net/osgeo4w/x86_64/release/" rel="noreferrer" target="_blank">http://osgeo4w.oslandia.net/os<wbr>geo4w/x86_64/release/</a> (some packages have<br>
src packages with them, but not all of them yet)<br>
<br>
Among these new packages, some of them may be of interest for other<br>
projects, mainly PostgreSQL and PostGIS (only minimal version of PostGIS<br>
for now - no raster, no sfcgal).<br>
<br>
The goal is then for us to contribute back to the osgeo4w project.<br>
<br>
So far, we noticed some issues with the current osgeo4w project and<br>
infrastructure:<br>
- the main repository seems heavily loaded and hard to reach sometimes<br>
- packaging fixes or addition of new packages relies on developers to<br>
install and manage their own instance of a complete Windows development<br>
environment.<br>
- the build of the entire distribution is hard to reproduce<br>
- the points listed above also result in a situation where there is a<br>
mix of compiler versions used for packages. Which should be avoided<br>
(<a href="http://siomsystems.com/mixing-visual-studio-versions/" rel="noreferrer" target="_blank">http://siomsystems.com/mixing<wbr>-visual-studio-versions/</a>)<br>
We actually hit a problem probably related to that<br>
(<a href="https://trac.osgeo.org/osgeo4w/ticket/529" rel="noreferrer" target="_blank">https://trac.osgeo.org/osgeo4<wbr>w/ticket/529</a>) and that could mean to<br>
recompile gdal and all its dependencies with msvc 2015.<br>
<br>
So here are some propositions:<br>
- find a way to add a mirroring system for the osgeo4w distribution. The<br>
idea is to register a list of mirrors that would receive a copy of files<br>
when they are uploaded to the main repository.<br>
Maybe by using something like <a href="https://github.com/axkibe/lsyncd" rel="noreferrer" target="_blank">https://github.com/axkibe/lsyn<wbr>cd</a><br>
- share access to our gitlab-ci infrastructure and vbox VMs (and allow<br>
it to be copied somewhere else if needed). The idea would be to have a<br>
unique repository with all package "sources" and all<br>
the machinery needed to trigger a build of the whole distribution or of<br>
some selected packages on a known environment.<br>
<br>
Regarding the issue of mixing compiler versions, we apparently still<br>
need to compile python2.7 modules with msvc 2010 (which is the version<br>
used to compile python27 and all wheel binaries).<br>
Apart from that (which may imply to maintain two versions of the same<br>
libraries), do you see problems if all packages get compiled with the<br>
same (last) version of msvc (2015) ?<br>
<br>
Are there any interests for that work ? Raise your hand if so, and raise<br>
both hands if you could contribute (time or funds) :) we also still need<br>
to find a way to fund this alternative osgeo4w / CI server.<br>
<br>
Hope to read your comments.<br>
<br>
Hugo<br>
______________________________<wbr>_________________<br>
osgeo4w-dev mailing list<br>
<a href="mailto:osgeo4w-dev@lists.osgeo.org" target="_blank">osgeo4w-dev@lists.osgeo.org</a><br>
<a href="https://lists.osgeo.org/mailman/listinfo/osgeo4w-dev" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailma<wbr>n/listinfo/osgeo4w-dev</a></blockquote></div><br></div></div>