enigma-devel
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]