Developing freeciv on Windows using msys2

Can you help improve your favourite game? Hardcore C mages, talented artists, and players with any level of experience are welcome!
cazfi
Elite
Posts: 1558
Joined: Tue Jan 29, 2013 6:54 pm

Developing freeciv on Windows using msys2

Postby cazfi » Sat Apr 22, 2017 4:23 pm

We should advertise msys2 environment more as a potential development environment for Windows users. While compiling in msys2 seems to be very slow, it shouldn't make it unusable for incremental type (compile only those source files which have changed) of builds typically occurring in the development. This thread is for your questions about using msys2 environment for building freeciv for yourself, or even developing it.

Freeciv is about to transition from subversion repository to git repository. Our msys2 environment contains tools specific to the repository type. I'm currently working on a new msys2 environment version that has git instead of subversion. As freeciv still lives in subversion repository, this new version is not usable for most users. The latest version that is suitable for accessing current subversion repository is 170126 (26th of January 2017 level). The environments are available from http://files.freeciv.org/packages/windows/msys2/

We now support only win64 builds. The environment does not have necessary tools for win32 builds installed.

Documentation about using the environments is in doc/README.msys2 in freeciv source tree. Msys2 is supported in freeciv S2_6 branch and later. The document can be seen also from the web interface to the repository:
S2_6: http://svn.gna.org/viewcvs/*checkout*/f ... ADME.msys2
S3_0: http://svn.gna.org/viewcvs/*checkout*/f ... ADME.msys2
TRUNK: http://svn.gna.org/viewcvs/*checkout*/f ... ADME.msys2

So far msys2 environment has been mainly used for building Installer packages, and the documentation reflect that to some degree. In the development work it's possible to build just the freeciv program binaries, and do it incrementally instead of making every build from scratch, and run those binaries inside the environment without need to do any installation steps.

cazfi
Elite
Posts: 1558
Joined: Tue Jan 29, 2013 6:54 pm

Re: Developing freeciv on Windows using msys2

Postby cazfi » Tue Jun 27, 2017 1:23 am

Now that freeciv lives in a git repository, newer msys2 environment versions can and should be used. Latest is 170616.
http://files.freeciv.org/packages/windows/msys2/

Links to the README.msys2 document in the git repository:
S2_6: https://github.com/freeciv/freeciv/blob ... ADME.msys2
S3_0: https://github.com/freeciv/freeciv/blob ... ADME.msys2
master: https://github.com/freeciv/freeciv/blob ... ADME.msys2

cazfi
Elite
Posts: 1558
Joined: Tue Jan 29, 2013 6:54 pm

Re: Developing freeciv on Windows using msys2

Postby cazfi » Mon Aug 14, 2017 5:29 am

cazfi wrote:We now support only win64 builds. The environment does not have necessary tools for win32 builds installed.
We've decided that this was premature, so latest environments support win32 builds again.

cazfi
Elite
Posts: 1558
Joined: Tue Jan 29, 2013 6:54 pm

Re: Developing freeciv on Windows using msys2

Postby cazfi » Mon Oct 16, 2017 3:00 pm

I added document about using Msys2 as build/development environment to wiki: http://freeciv.wikia.com/wiki/Msys2_As_ ... nvironment

User avatar
dunnoob
Elite
Posts: 326
Joined: Mon Dec 23, 2013 3:13 am
Location: Hamburg
Contact:

Re: Developing freeciv on Windows using msys2

Postby dunnoob » Tue Oct 17, 2017 3:28 am

cazfi wrote: Msys2 as build/development environment
Suggestion, because you have the rights to implement it: Delete the MSYS2 stub, it was a placeholder filled with copies of the README at random points in time (= when I felt like it) and intended to be replaced by something better like your new content.

If you delete MSYS2 and rename (copy keeping a redirect) your page to MSYS2 it will inherit lots of existing incoming [[MSYS2]] links. Alternatively MSYS2 can be blanked and redirected to your new page (= no special rights required, I'll do that, if nothing happens and nobody objects.)

cazfi
Elite
Posts: 1558
Joined: Tue Jan 29, 2013 6:54 pm

Re: Developing freeciv on Windows using msys2

Postby cazfi » Tue Oct 17, 2017 5:50 am

I named the new page specifically as "...as development environment" to distinguish it from (potential) other pages discussing msys2 environment in general, or from the point of view of msys2 based installer.

User avatar
dunnoob
Elite
Posts: 326
Joined: Mon Dec 23, 2013 3:13 am
Location: Hamburg
Contact:

Re: Developing freeciv on Windows using msys2

Postby dunnoob » Sat Oct 21, 2017 7:03 pm

cazfi wrote:distinguish it from (potential) other pages discussing msys2 environment in general
Everything is better than my stupid README.msys2 copies never catching the latest README on GitHub. I've now redirected it to your better page, folks are free to replace the redirection with content about the msys2 environment in general.:P

Update: If you are interested in general, the SourceForge project The Moluccas reminds me of crosser, but I'm only sure that both contain a working rsvg-convert.exe. On other platforms you might already have it, it's a part of Gnome and MediaWiki, brilliant for Garbage-In,Valid-Out SVG to SVG conversions, if you have any required fonts.
Last edited by dunnoob on Sat Oct 21, 2017 8:45 pm, edited 1 time in total.

cazfi
Elite
Posts: 1558
Joined: Tue Jan 29, 2013 6:54 pm

Re: Developing freeciv on Windows using msys2

Postby cazfi » Sat Oct 21, 2017 8:05 pm

cazfi wrote:I added document about using Msys2 as build/development environment to wiki: http://freeciv.wikia.com/wiki/Msys2_As_ ... nvironment

Today I had an opportunity to test a bit if things work like I had documented them (yes, I originally wrote the document with no access to Windows to test things) and made corrections to the document accordingly. I got at least S2_6 gtk3.22-client to build and launch with the updated documents (I had no time to test building anything else) Can also someone else test if one can get freeciv to build and run with that documentation?