In my ongoing quest to bring every major open-source game to MacPorts, I've 
been working on minetest.

Minetest is reported to be the #1 most popular open-source game on the 
internet. It's been in homebrew for a long time, but was broken there. I fixed 
it about six months back for homebrew, but I have never submitted it to 
MacPorts.

The primary reason is it's supporting port, Irrlicht, which is a 3D framework 
used by a number of different games. Irrlicht is frankly a bit messy. Homebrew 
builds it as a static library using it's xcode build file, but I know that is 
not a popular way for macports to inhale such software.

Irrlicht is an older piece of software brought forward through the years. The 
Unix makefile is not properly written, and the supposed macosx shared library 
target does not seem to build correctly for me on any system I've tried.

On macOS, everyone seems to use the xcode build file, which does work to make 
either a static library (a la homebrew) or a framework (which is what I used, 
building it as a sharedlibrary). To make it work correctly, I more or less 
built the framework, and then copied the headers into include/Irrlicht/* and 
spec'd the library in the minetest build. I could have also symlinked the 
library into lib/irrlicht.dylib from the framework.

I _think_ this might be acceptable in that format for macports, but it is 
neither pretty nor elegant.

Minetest works perfectly well using this, however.

Would anyone interested in such things be willing to take a look at the 
Irrlicht build and see if there is a cleaner way to do it than what I have done?

My build file and patches are here:  
<https://github.com/kencu/macports-staging/tree/master/devel/irrlicht>

The minetest portfile and associated patches, if anyone is interested in seeing 
it work, are here: 
<https://github.com/kencu/macports-staging/tree/master/games/minetest>.


Thanks,

Ken

Reply via email to