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

Back to archive index
OSDN Ticket System norep****@osdn*****
Sun Oct 30 15:52:10 JST 2022


#44549: New process to build MacOS version

  Open Date: 2022-05-09 03:09
Last Update: 2022-10-30 08:52

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-30 08:52 Updated by: cazfi

Comment:

As for the installed program not being runnable, did you test just the client, or also server alone? I can't easily test client on CI, but the test to run server (and autogame on it) from #45997 works there (just be aware of #46010 with the very current freeciv repository version)
In general I think that best RoadMap would be to first try to replicate the exact same process that CI uses to create a successful build. If you get that working, we could then start fixing meson build issues with other kind of workflows.
As for the failures to find correct dependencies; do you have pkg-config or pkgconf, or neither installed? I think either one should work fine, but if you have neither, it will force meson to use some fallback mechanisms to search for those components, and I wouldn't expect those mechanisms to work too well with this setup.
Also, I don't know how much spare time you have to throw to this, but it might also be worth making an autotools based build from the same freeciv-3.1 sources, to see which of the problems are specific to meson based builds, and which ones are present regardless of the build system.

---------------------------------------------------------------------
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