-
Notifications
You must be signed in to change notification settings - Fork 126
Packaging
Fennel is currently packaged & maintained on the following systems: (If you're aware of others, please add them herein!)
- Debian testing/unstable (Maintainer: Phil Hagelberg)
- Fedora (Maintainer: Michel Salim)
- FreeBSD (Maintainer: Joe Mingrone [email protected])
- Gentoo (Maintainer: Maciej Barć)
- Guix (Maintainer: Paul A. Patience)
- Homebrew (Maintainer: François-Xavier Coudert)
-
Nix (Maintainer: Gabriel Fontes a.k.a. misterio77) - package name is
luaPackages.fennel
- Alpine Linux (Maintainer: Will Sinatra [email protected])
- Arch Linux (Maintainer: George Rawlinson)
- Debian/Ubuntu (Maintainer: Phil Hagelberg)
- Luarocks (Maintainer: Jesse Wertheim [email protected])
- Pacstall (Maintainer: wizard-28 <[email protected]>) (works on Debian-based distros)
- openSUSE (Maintainer: Fabio Pesari)
Fennel can be distributed as a compiled binary, or as a single-file Lua script. It's up to the person packaging to decide which makes more sense in context, but the main advantage of the binary is that it does not depend on having Lua installed on the box, and in the context of a package manager this is usually not particularly relevant.
One of the following: lua5.1, lua5.2, lua5.3, lua5.4, or luajit
You will need the dev headers for whatever Lua implementation it depends on if you decide to build Fennel as a compiled binary instead of a Lua script. For a Lua script simply depending on a Lua implementation is enough.
Simply invoke the following in your build form:
make fennel-bin
The Makefile lists the following lua libs and include directory; the defaults
are Debian-specific, but overrides can be passed in as arguments to make
.
STATIC_LUA_LIB ?= /usr/lib/x86_64-linux-gnu/liblua5.3.a
LUA_INCLUDE_DIR ?= /usr/include/lua5.3
For instance, on Alpine:
make fennel-bin STATIC_LUA_LIB=/usr/lib/liblua-5.3.so.0.0.0 LUA_INCLUDE_DIR=/usr/include/lua5.3
Otherwise compilation on glibc and musl libc systems is the same.
Simply invoke the following in your build form
make fennel LUA=lua5.3 # or whichever Lua executable you prefer
The following files should be accounted for in the Fennel package:
-
fennel
: the executable -
fennel.lua
: the compiler, as a Lua library - the contents of the
man
directory
You can run sudo make install
to handle installing these three,
though you might want to override DESTDIR
or PREFIX
.