[freeciv-dev] Re: MAC installer

  • From: Dean <ddeanbrown@xxxxxxxxxxx>
  • To: freeciv-dev@xxxxxxxxxxxxx
  • Date: Mon, 15 Jan 2018 22:12:27 -0500

Thanks so much Marko - it actually all worked on the first try! :-) I think the Homebrew install must have taken care of all the dependencies.

I learned something, can now build a Mac installer for 2.6 beta, and also can try out the 2.6 beta too. Woo-hoo!

On 1/15/18 8:27 PM, Marko Lindqvist wrote:

  - Make a directory to work on (I'll call this 'root directory' now on)
  - Unpack the tarball as 'freeciv-2.5.9' subdirectory under root
directory. It's called source directory now on.
  - Make empty build directory under root directory
  - 'cd' to build directory

  We need to get through 3 steps; configuring, building, and installing.

  First we need to configure by running the configure script from the
source directory (but build directory being working directory)
  It might be as easy as:
  > ../freeciv-2.5.9/configure
  but you may need to pass it some parameters (see
'../freeciv-2.5.9/configure --help') and almost certainly it will
first fail because some missing dependencies.
  Practically you need to run configure to see what test fails, then
installing that dependency, and repeat until it passes.
  Of the parameters I recommend using '--prefix=<location where you
want freeciv installed>' at least in the initial testing so you don't
mess your system by installing it to default directories under system
root
  Clients and modpack installers have much more dependencies than the
server, so you may first want to get just the server build to work;
pass configure '--disable-client --disable-fcmp'

  Second step is building, which should be much more straightforward
(configure should have already tested for the potential problems):
  > make

  Installing:
  > make install


  - ML


On 16 January 2018 at 02:41, Dean <ddeanbrown@xxxxxxxxxxx> wrote:
I currently do not know how to build the binaries, but I'd like to learn
how.

I delved into Homebrew and it appears what I have was gotten from

https://downloads.sourceforge.net/project/freeciv/Freeciv%202.5/2.5.9/freeciv-2.5.9.tar.bz2

That tar file just has source, no binaries, so Homebrew must auto-magically
do a build behind the scenes as part of its process. Homebrew appears to use
Ruby to do its work, and I don't know Ruby. I downloaded
freeciv-2.6.0-beta1.tar.bz2 from sourceforge and un-tarred it, but I'm not a
Unix programmer so I don't know how to build from that. I can handle using
the Mac terminal program to use the Unix command line - is there some
standard set of commands to do the build?


On 1/15/18 5:51 PM, Marko Lindqvist wrote:

   Do I understand correctly that you need someone else to make the
binaries first? We release the source code (tarball) and currently
binaries for Windows. Neither of them are stored in git, but they are
built from git tag. (A bit confusingly github likes to automatically
make a tarball from any tag the project has, but those github tarballs
are not of correct format. We have not found a way to prevent this
github behavior)

   As per GPL requirements, we'd want to have any package build scripts
and such available too (probably placed in git and even in the release
tarballs)

   If we can get this to work on regular basis as official Mac release,
we should consider placing them to sourceforge (under freeciv project
downloads) like Windows binaries.


   - ML


On 16 January 2018 at 00:32, Dean <ddeanbrown@xxxxxxxxxxx> wrote:

I could send you the package as an e-mail attachment (52 MB), would
sending
it to the list work? I'm going to look into putting it on Dropbox.

I can volunteer to do ongoing updates in the future. I'd like to try
doing
the 2.6 beta.

I'm using a freeware installer maker app called 'Packages'. I used the
Mac
package manager program Homebrew to download freeciv, which got me all
the
packages which freeciv depends on, as well as the binaries and support
files. My finished installer puts the binaries and support files into the
app bundle, preserving the needed directory structure, and also copies
the
dependent packages into /usr/local/opt where they need to be. If any
packages are already in /usr/local/opt it leaves them alone, which is
good.
Now that my infrastructure is set up, it should be pretty easy to do a
new
version, I would just need to get copies of the new binaries and support
files, and any new dependent packages (which I expect don't change
often). I
am not experienced with using Git, so might need some help with that.
Would
the (Unix) binaries also be in the Git repository? I'm not yet ready to
try
building from source on my Mac, but hopefully someday I'll have more free
time and can actually contribute some coding.

If I get it on Dropbox, then we could add it to
http://www.freeciv.org/download.html or
http://freeciv.wikia.com/wiki/More_distributions or also
http://freeciv.wikia.com/wiki/Install-MacOSX


On 1/12/18 3:33 PM, Jacob Nevins wrote:


Dean writes:


Introducing myself - Long time civ and freeciv player, first time to
contribute something back. I'm also a long time software developer,
with
much Mac experience, so I have figured out how to create an installer
for
the Mac. It installs a real Mac style 'freeciv.app' package with a
freeciv
icon image, and also installs all the other needed support files and
libraries. I used a freeciv 2.5.9 binary that runs on Mac OS 10.11, so
it
should also run on anything newer. It's about 52 MB in size. Need some
help
getting it to the right folks who can add it to the download webpage
(http://www.freeciv.org/download.html).



Sorry for the slow reply, and thanks for looking at Mac packaging. We
don't have any Mac users who are active developers at the moment, so Mac
matters are somewhat neglected.

Can we see your package?

Would you be willing to be on call for making regular releases? As you
might have seen, we plan a release next weekend. (It's OK if the
binaries lag a bit, we don't insist on coordinated release.)

It would also be useful to know how it is made, especially if there is
any extra material that goes into it that's not from our Git repository
(installer scripts etc).

(You can always list yourself on
<http://www.freeciv.org/wiki/More_distributions> if you have somewhere
to host your package.)








Other related posts: