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. :)