[Freeciv-tickets] [freeciv] #44549: New process to build MacOS version

Back to archive index
OSDN Ticket System norep****@osdn*****
Mon Oct 17 11:17:39 JST 2022


#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



More information about the Freeciv-tickets mailing list
Back to archive index