Next up: Crossbow 3.x I'm planning a new release of Crossbow. My goals are: - A new configuration file format, more practical to use - Migrating from the unmaintained and buggy libmrss / libnxml. The feed data extraction will leverage libeccio, a library that I'm writing for the purpose. Libeccio uses the mini-xml[0] library under the hood, for the XML parsing. - Migrating from GNU Autotools to CMake. A few days ago I started by dusting off the project. It is quite a while I don't work on it, and I don't remember how I designed a few things. I was a little negligent with respect to internal module documentation, so I took the chance of writing some useful comments in the headers. I did some investigation work about CMake, and how to use it for producing some distribution tarballs (as in "make dist" in autotools). This might not be feasible[0]. I hoped that CPack[1] could be the right tool, but I was a little disappointed. With CMake I managed to generate a tarball containing a binary (compiled) distribution, and a source tarball which was not only dependent on CMake, but even carrying around details about the operating system where I generated it (e.g. directory names). It looks like I'll use git-archive(1) to create my pristine packages. I'm not entirely happy about it, but it might be good enough. After all, pretty much any packaging system I know has the concept of build dependencies, in contrast with run-time dependencies. It is ok to have CMake as build dependency. I'm now going to experiment with it under FreeBSD and OpenBSD systems, since my CMake experience is restricted to GNU/Linux. Fortunately I can rely on a bunch of test scripts that I wrote some time ago, but the documentation is not so good. This time I plan to document the process thoroughly, since I'm not sure of how much time I'll have in my hands, and how much it will pass between working sessions. [0] https://www.msweet.org/mxml [1] https://stackoverflow.com/q/9625503 [2] https://cmake.org/cmake/help/latest/manual/cpack.1.html