Date: Mon, 22 Jun 2020 03:14:44 +0000 (UTC) From: Ryan Moeller <freqlabs@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r362477 - in head: . libexec/flua tools/build Message-ID: <202006220314.05M3Eic1063005@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: freqlabs Date: Mon Jun 22 03:14:43 2020 New Revision: 362477 URL: https://svnweb.freebsd.org/changeset/base/362477 Log: flua: add ucl library libucl comes with a Lua library binding. Build it into flua. This lets us parse/generate config files in the various formats supported by libucl with flua. For example, the following script will detect the format of an object written to stdin as one of UCL config, JSON, or YAML and write it to stdout as pretty-printed JSON: local ucl = require('ucl') local parser = ucl.parser() parser:parse_string(io.read('*a')) local obj = parser:get_object() print(ucl.to_format(obj, 'json')) Reviewed by: kevans, pstef Approved by: mmacy (mentor) Relnotes: yes Differential Revision: https://reviews.freebsd.org/D25009 Modified: head/Makefile.inc1 head/libexec/flua/Makefile head/libexec/flua/linit_flua.c head/tools/build/Makefile Modified: head/Makefile.inc1 ============================================================================== --- head/Makefile.inc1 Mon Jun 22 01:31:08 2020 (r362476) +++ head/Makefile.inc1 Mon Jun 22 03:14:43 2020 (r362477) @@ -2112,8 +2112,8 @@ ${_bt}-lib/libdwarf: ${_bt_m4_depend} # 13.0-CURRENT cycle, thus needs to be built on -older releases and stable # branches. .if ${BOOTSTRAPPING} < 1300059 -${_bt}-libexec/flua: ${_bt}-lib/liblua -_flua= lib/liblua libexec/flua +${_bt}-libexec/flua: ${_bt}-lib/liblua ${_bt}-lib/libucl +_flua= lib/liblua lib/libucl libexec/flua .endif # r245440 mtree -N support added Modified: head/libexec/flua/Makefile ============================================================================== --- head/libexec/flua/Makefile Mon Jun 22 01:31:08 2020 (r362476) +++ head/libexec/flua/Makefile Mon Jun 22 03:14:43 2020 (r362477) @@ -32,4 +32,10 @@ CFLAGS+= -I${SRCTOP}/lib/libedit -I${SRCTOP}/contrib/l LIBADD+= edit .endif +UCLSRC?= ${SRCTOP}/contrib/libucl +.PATH: ${UCLSRC}/lua +SRCS+= lua_ucl.c +CFLAGS+= -I${UCLSRC}/include -I${UCLSRC}/src -I${UCLSRC}/uthash +LIBADD+= ucl + .include <bsd.prog.mk> Modified: head/libexec/flua/linit_flua.c ============================================================================== --- head/libexec/flua/linit_flua.c Mon Jun 22 01:31:08 2020 (r362476) +++ head/libexec/flua/linit_flua.c Mon Jun 22 03:14:43 2020 (r362477) @@ -36,6 +36,7 @@ #include "lauxlib.h" #include "lfs.h" #include "lposix.h" +#include "lua_ucl.h" /* ** these libs are loaded by lua.c and are readily available to any Lua @@ -59,6 +60,7 @@ static const luaL_Reg loadedlibs[] = { {"lfs", luaopen_lfs}, {"posix.sys.stat", luaopen_posix_sys_stat}, {"posix.unistd", luaopen_posix_unistd}, + {"ucl", luaopen_ucl}, {NULL, NULL} }; Modified: head/tools/build/Makefile ============================================================================== --- head/tools/build/Makefile Mon Jun 22 01:31:08 2020 (r362476) +++ head/tools/build/Makefile Mon Jun 22 03:14:43 2020 (r362477) @@ -149,6 +149,7 @@ INSTALLDIR_LIST= \ lib/casper \ lib/geom \ usr/include/casper \ + usr/include/private/ucl \ usr/include/private/zstd \ usr/lib \ usr/libexec
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202006220314.05M3Eic1063005>