Thanks for the feedback Stuart. The rockspec contains the exact versions of various Luarocks that we test against and will bundle as vendor code with the install if that option is used during configure. Since you are going the route of using OS packages, I should mention that in most cases we actually support lower versions than are listed there. The exception I know about is Cassowary which has bug fixes in the latest release that we count on in SILE. I also have a question mark in my mind about Penlight, I know we used to test old versions and didn't have a problem, but when the Luarocks got updated with the Github releases we stopped testing the old builds. I will look into coming up with actual bonafide minimum supported versions for future releases.
Speaking of which, I see there is a bug in the configure.ac code in that it is always expecting a Lua rock for bit32, but technically that is only needed as a shim for Lua 5.1. It can be dispensed with in later Luas. Luarocks figures this out but the configure script wasn't so discerning. I will get that fixed in the next dot release. If it holds up the port process I can expedite a dot release. https://github.com/sile-typesetter/sile/pull/779 As for "core" — we are aware of the headache this naming has caused with autoconf and have been around and around on how to fix it. Unfortunately it would be pretty involved to rename at this point, although we haven't completely ruled it out. We've tried various ways of patching things over with autoconf but that doesn't seem to be possible. I'm kind of holding off pushing for a fix until it becomes more clear what way we go for Windows builds. At this point there is a parallel build system using Cmake just for the Windows builds, but if that actually pans out it might be smart to converge on one build system for all platforms, whatever that is. While the jurry is out on that I haven't wanted to do a disruptive refactoring just to accommodate a warning message from autoconf. Again feel free to reach out when / if anybody takes this up and tries to update it. I'll be happy to provide support including upstream adjustments if they are needed. On Wed, Jan 15, 2020 at 5:03 PM Stuart Henderson <s...@spacehopper.org> wrote: > > On 2020/01/14 14:03, Caleb Maclennan wrote: > > I'm one of the developers of The SILE Typesetter > > (https://sile-typesetter.org). A while back there was some interest in > > compiling it on BSD (see > > https://github.com/sile-typesetter/sile/issues/425) and we might have > > addressed the issues involved in the build system in the release that > > went out yesterday. I see there is a port > > (http://openports.se/print/sile) as well but it is even more dated. > > > > I would be interested in facilitating any upstream changes that need > > to be made in order for the BSD process to be as smooth as possible. > > Is there anything I can do to help get the port updated and/or the use > > of autoconf and Lua dependencies cleaned up so it works nicely out of > > the gate? > > > > Caleb > > > > I've had a quick look, this will take a while as (based on the versions > listed in sile-dev-1.rockspec) it looks like it will need 5 modules > porting and 6 updating. I don't see anything relating to dependencies > that would need changes upstream, it just needs someone interested in > running sile on OpenBSD to do the work (they need to be OS packages, > ports aren't allowed to download during build). > > btw the directory in the distribution named "core" makes it a bit > awkward to read autoconf output: > > checking for lua52 module directory... ${exec_prefix}/lib/lua/5.2 > checking if LUA_VERSION is defined... yes > checking lua.h usability... rm: core: is a directory > yes > checking lua.h presence... yes > checking for lua.h... yes > checking lualib.h usability... rm: core: is a directory > yes > checking lualib.h presence... yes > checking for lualib.h... yes > checking lauxlib.h usability... rm: core: is a directory > yes > checking lauxlib.h presence... yes > checking for lauxlib.h... yes > checking luaconf.h usability... rm: core: is a directory > yes > checking luaconf.h presence... yes > checking for luaconf.h... yes > checking for Lua header version... rm: core: is a directory > (etc.). >