[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Where I'm at with a macOS build of Enigma 1.30
From: |
Sidney Markowitz |
Subject: |
Where I'm at with a macOS build of Enigma 1.30 |
Date: |
Sat, 14 Aug 2021 12:21:16 +1200 |
User-agent: |
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0) Gecko/20100101 Thunderbird/78.13.0 |
Finally, some breakthrough in getting this to build and run on a Mac!
My main open question is about deleting the intl/VERSION file in the
source tree. That was necessary to fix a compile time error, and I need
someone who knows how that part of the build works to confirm that the
file really isn't necessary on any other platform.
After discussion with the Homebrew project, I've re-thought how building
Enigma needs to work with Homebrew.
What I had set up for Enigma 1.21 was accepted to be included in
Homebrew core, but it should not be there according to the current
guidelines (https://docs.brew.sh/Acceptable-Formulae) which discourage
Homebrew formulae that build app bundles. Also, I found the build
process is simplified if I have the formula build Enigma into the same
/usr/local/bin and /usr/local/share/Enigma directories that are used in
Linux, allowing Enigma to be launched from the command line in macOS,
then also have a tool that we can use to make it into an app bundle and
process it so it can be distributed to machines that don't have Homebrew
libraries installed.
What I'm proposing to change is the following:
Remove the file intl/VERSION
Change the default data and doc paths set in the conditional macOS code
in main.cc so that they are the same as on Linux when Enigma is launched
from the command line from e.g., /usr/local/bin, but still looks inside
the app bundle when it is launched from an app bundle. In other words,
it will just work either way.
Have the Homebrew formula only build and install Enigma for command line
launching in /usr/local. That means that anyone with Homebrew on their
Mac can run "brew install enigma" and launch the game with the command
"enigma" in Terminal. The formula will by default build from the dist
source tarball that we build for Linux, but will also optionally build
from git master.
Put up a Homebrew formula in our Github space as a Homebrew tap (which
isn't restricted from building apps like formulae accepted into Homebrew
core) which we can use to build an app that bundles all the libraries it
depends on and so can be distributed as a dmg to people without
Homebrew. I've already got a proof of concept script that builds such an
app and dmg.
Any comments?
-- Sidney