On 2018/04/21 12:01, tfrohwein wrote:
> On Tue, Apr 10, 2018 at 09:20:37PM -0700, Thomas Frohwein wrote:
> 
> ping
> 
> > Hi,
> > 
> > Please find attached a port of Godot. Godot, "The Game Engine You Waited 
> > For"
> > (semi-official subtitle), is a professional-grade game development framework
> > and game engine, capable of designing 2D, as well as 3D games. It is most
> > commonly compared to Unity. It features its own GDScript language for the
> > scripting aspect of the development, but also offers interfaces for C++ or
> > Visual Script (using blocks and connections).
> > 
> > It works well on testing with a tutorial 2D game, as well as when running 
> > the
> > 3D demo 'Martinique' (https://github.com/w84death/Martinique).
> > 
> > A few notes on the port:
> > - C# support: this is advertised by upstream (done via mono), but FreeBSD's
> >   port describes it as unstable. I left it out for now; may add it in future
> >   update.
> > - This may be common knowledge, but it took me a while to find out that
> >   pulseaudio requires messagebus to be activated (x11/dbus -> rcctl enable
> >   messagebus).
> > - The previously described "crashy" state (on the openbsd-wip repo) was 
> > likely
> >   due to the failing to find its own path when entering the main interface. 
> > The
> >   post-extract target fixes that with a hard-coded location of the binary. I
> >   have not observed any unstability or crashing when using Godot.
> > - In order to build with clang, it needs the use_llvm flag. I moved this 
> > into a
> >   .if ${PROPERTIES:Mclang} to give non-clang arches a chance.
> > 
> > This is based on prior work by bentley@.
> 
> 

The main thing I don't like about this is the .if after including bsd.port.mk,
PROPERTIES are setup from bsd.port.arch.mk so there's no need for the whole 
thing.
e.g.

--snip--------
.include <bsd.port.arch.mk>

.if ${PROPERTIES:Mclang}
MODSCONS_FLAGS +=       use_llvm=yes
.endif

.include <bsd.port.mk>
--snip--------

For the path-finding, I do think in this case a patch is better because
if upstream change anything in this area the sed will silently no longer
apply so it won't be noticed until runtime. So I would go for patch and
SUBST_CMD in this case. But however it's done, it should use PREFIX
("files from this port") not LOCALBASE ("already installed files").

It ought to honour CC/CXX from the environment but life's too short and
the benefit is too little to be worth wrangling the stupid build tool
for this. :)

Reply via email to