<div dir="ltr"><div dir="ltr"><div>Dear PSC,</div><div dir="auto"><br></div><div>Over the last two years, I have had the opportunity to work on different build systems, namely conda and vcpkg.</div><div>I'd like to thank you for this possibility and give a brief overview over what has been done and the current status.</div><div dir="auto"><br></div><div>Last year, we worked on creating QGIS packages using conda.</div><div>Conda is a python driven package distribution system which besides providing excellent python packages also provides QGIS builds for a long time already. It is great for fine control over installed packages and has a cross-platform nature. There is an active community improving python packages and QGIS builds.</div><div>We have worked on a set of scripts that uses a tool called "constructor" to bundle conda provided packages into a macOS .pkg. The scripts are still active and packages are regularly created and can be downloaded from <a href="https://github.com/opengisch/qgis-conda-builder" target="_blank">https://github.com/opengisch/qgis-conda-builder</a>.</div><div><br></div><div>This year we have also been working on vcpkg based packages (focussed on windows/qt6). Vcpkg is a bit different in the approach, in that it focuses more on the C++ side of things and is developer centric.</div><div>As vcpkg is also cross platform in nature, we went the extra mile and also unlocked <a href="https://github.com/qgis/QGIS/pull/59177">building</a><a href="https://github.com/qgis/QGIS/pull/59177"> with vcpkg for macOS</a>. Accomplishing this wasn't for free, as we had to improve the vcpkg support for "dynamic" (shared) libraries on osx as well as python packages.</div><div>Over the last few years, we have used vcpkg with QField and made really good experiences which allowed us to collaborate closer with upstream (by testing patches locally) and quickly react in case of troubles with some libraries (pinning to specific version, backporting patches before they are released).</div><div><br class="gmail-Apple-interchange-newline">With all this accomplished, QGIS packages (dmg) for macOS based on vcpkg libraries are around the corner and I'm currently working on the last bits to produce functional packages.</div><div>There will still be a few bits missing from these (e.g. no grass or saga included yet, only Qt6 at the moment, notarisation, ecw, mrsid) and some parts for which I am not sure yet if they need to be part of a dmg (e.g. is it expected that QGIS server can be run from a dmg or is it acceptable to install this via homebrew or conda, as for installing QGIS server it is ok to expect some sysadmin skills?).</div><div><br></div><div>You might be asking, why did we not start with vcpkg for macOS from the beginning but with conda? Two years ago, there was no python support for vcpkg available, and we only unlocked that thanks to another project earlier this year. Plus the ground work required a lot of dedication which we were unable to estimate beforehand (so hey, why not just do it in evenings and weekends ;-) )</div><div>We also found that relying on packaging third-party-binaries (as in the case of conda) is not ideal for onboarding our developers whereas we can already see a few pull requests land in QGIS only after a few weeks of having vcpkg integrated.</div><div><br></div><div>I am motivated to finalize the mac packages based on vcpkg in the upcoming days and am also available for longer term maintenance of providing stable mac builds and improving these where needed.</div><div><br></div><div>Thanks again for helping us make this happen</div><div>Matthias</div>
</div>
</div>