#44549: New process to build MacOS version Open Date: 2022-05-08 20:09 Last Update: 2022-10-16 22:17 URL for this Ticket: https://osdn.net//projects/freeciv/ticket/44549 RSS feed for this Ticket: https://osdn.net/ticket/ticket_rss.php?group_id=12505&tid=44549 --------------------------------------------------------------------- Last Changes/Comment on this Ticket: 2022-10-16 22:17 Updated by: ddeanbrown Comment: I can deal with the packaging, but don't know how to build Meson based executables myself. I don't understand how the CI works - is it just checking if dependencies are satisfied? Or does it build executables and then just doesn't save them? I can imagine having dependencies be satisfied and building still possibly failing. --------------------------------------------------------------------- Ticket Status: Reporter: ddeanbrown Owner: (None) Type: Feature Requests Status: Open Priority: 5 - Medium MileStone: (None) Component: General Severity: 5 - Medium Resolution: None --------------------------------------------------------------------- Ticket details: Clone the build process used by Longturn fork to produce MacOS app bundle. Discussed on the freeciv-dev mailing list. Some relevant bits - Dean wrote: "Their resulting Mac app bundle does not contain any dylibs and is completely self-contained and path-independent, so for example it can be renamed or moved to another directory. That's a big improvement. It's also much smaller, 233 MB vs 891 MB." Louis wrote: "Our Mac executable is created on Github Actions. We fetch build tools (cmake etc) from Homebrew and then rely on vcpkg to get a static build of Qt and the other dependencies. The code is there: https://github.com/longturn/freeciv21/blob/master/.github/workflows/build.yaml#L173-L218" "I think Freeciv could clone what we do, though it would be a bit harder for a project using autotools. vcpkg is a package manager by Microsoft that builds everything from source, so just installing Qt takes about 3 hours. Adding several Gtk and SDL versions would make this even longer (though Github Actions can cache the results if they're not too big). Marko has a working build script on Github Actions 1, maybe you can start from there and just add the packaging step..." "vcpkg is very well integrated with CMake: it replaces find_package to automatically build all the dependencies. I think it's simply impossible to do in autotools, so one would need to install packages manually via the vcpkg CLI and then pass all the paths to configure. To make things even harder, vcpkg encourages static builds." Dean wrote: "I thought that vcpkg doing static builds was a good thing for what we want." Marko wrote: "Well, if it works with direct CMake use, one would expect it quite easy to get it to work with Meson set to use CMake as the dependency find method." "Be careful when working with any freeciv21 code to not infringe their GPLv3+ license. When you submit anything to freeciv, you're making it available under GPLv2 too (freeciv is GPLv2+ licensed)" This would supersede #44400 & #44399. -- Ticket information of Freeciv project Freeciv Project is hosted on OSDN Project URL: https://osdn.net/projects/freeciv/ OSDN: https://osdn.net URL for this Ticket: https://osdn.net/projects/freeciv/ticket/44549 RSS feed for this Ticket: https://osdn.net/ticket/ticket_rss.php?group_id=12505&tid=44549