README.portable =============== **NOTE: This repository is read-only and is used only to mirror the got-portable repository for CI purposes.** This is the portable version of got[1] (Game of Trees), using autotools to provide the library checks required for GoT's dependencies. The following operating systems are supported: * FreeBSD * NetBSD * DragonFlyBSD * MacOS * Linux DEPENDENCIES ============ Linux: * `libncurses` (for tog(1)) * `libmd` (BSD's digest routines) * `libbsd` (BSD's arc4random routines) * `libcrypto` (often via 'libssl-dev' for SHA1 routines) * `libuuid` (for UUID generation) * `libz` (for Z compression) * `pkg-config` (for searching libraries) * `bison` (for configuration file grammar) FreeBSD: * `automake` * `pkgconf` * `GNU coreutils` (for running tests) NetBSD: * `automake` * `libuuid` * `ncuresesw` * `GNU coreutils` (for running tests) DragonFlyBSD: * `automake` * `pkgconf` * `openssl` * `GNU coreutils` (for running tests) Darwin (MacOS): * `automake` * `bison` * `pkg-config` * `ncurses` * `openssl` * `ossp-uuid` TESTS (REGRESS) =============== To run the test suite: ``` $ make tests ``` NOTE: For Linux, you must have the jot(1) command which is typically in the `athena-jot` package, or similar. For non-linux systems (as mentioned above), GNU Coreutils needs to be installed. NOTE: THIS ONLY WORKS AFTER `make install` DUE TO HOW PATHS TO LIBEXEC HELPERS ARE HARD-CODED INTO THE BINARIES. INSTALLATION ============ ``` $ ./autogen.sh $ ./configure && make $ sudo make install ``` BRANCHES + SUBMITTING PATCHES ============================= `got-portable` has two key branches: * `main` which tracks got upstream untainted. * `linux` which provides the portable version of GoT based from code on `main` Patches for portable code fixes should be based from the `linux` branch and sent to the mailing list for review [2] or sent to me directly (see CONTACT). The read-only Github repository also runs CI checks using Cirrus-CI on Linux and FreeBSD. TODO ==== This port is incomplete in that only got(1) and tog(1) have been ported. gotweb has yet to be ported. configure.ac should start defining AC_ENABLE arguments to allow for finer-grained control of where to search for includes/libraries, etc. CONTACT ======= Thomas Adam thomas_adam (#gameoftrees on irc.libera.chat) [1] https://gameoftrees.org [2] https://lists.openbsd.org/cgi-bin/mj_wwwusr?user=&passw=&func=lists-long-full&extra=gameoftrees