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

Reply via email to