notbugAs an Amazon Associate I earn from qualifying purchases.
Want a good read? Try FreeBSD Mastery: Jails (IT Mastery Book 15)
All times are UTC
Port details
lutok Lightweight C++ API for Lua
0.4_8 devel on this many watch lists=2 search for ports that depend on this port Find issues related to this port Report an issue related to this port View this port on Repology. pkg-fallout 0.4_7Version of this port present on the latest quarterly branch.
Maintainer: search for ports maintained by this maintainer
Port Added: 2013-05-19 04:19:36
Last Update: 2023-05-07 18:38:48
Commit Hash: d994be1
People watching this port, also watch:: libinotify, gtkmm30, py39-pycparser, alsa-plugins, libucl
Homepage    cgit ¦ Codeberg ¦ GitHub ¦ GitLab ¦ SVNWeb
pkg-plist: as obtained via: make generate-plist
Expand this list (243 items)
Collapse this list.
  1. @ldconfig
  2. /usr/local/share/licenses/lutok-0.4_8/
  3. /usr/local/share/licenses/lutok-0.4_8/LICENSE
  4. /usr/local/share/licenses/lutok-0.4_8/BSD3CLAUSE
  5. include/lutok/c_gate.hpp
  6. include/lutok/debug.hpp
  7. include/lutok/exceptions.hpp
  8. include/lutok/operations.hpp
  9. include/lutok/stack_cleaner.hpp
  10. include/lutok/state.hpp
  11. include/lutok/state.ipp
  12. include/lutok/test_utils.hpp
  13. lib/liblutok.a
  14. lib/
  15. lib/
  16. lib/
  17. libdata/pkgconfig/lutok.pc
  18. share/doc/lutok/AUTHORS
  19. share/doc/lutok/COPYING
  20. share/doc/lutok/NEWS
  21. share/doc/lutok/README
  22. share/doc/lutok/html/tabs.css
  23. share/doc/lutok/html/jquery.js
  24. share/doc/lutok/html/dynsections.js
  25. share/doc/lutok/html/tab_a.png
  26. share/doc/lutok/html/tab_b.png
  27. share/doc/lutok/html/tab_h.png
  28. share/doc/lutok/html/tab_s.png
  29. share/doc/lutok/html/nav_h.png
  30. share/doc/lutok/html/nav_f.png
  31. share/doc/lutok/html/bc_s.png
  32. share/doc/lutok/html/doxygen.png
  33. share/doc/lutok/html/closed.png
  34. share/doc/lutok/html/open.png
  35. share/doc/lutok/html/bdwn.png
  36. share/doc/lutok/html/nav_g.png
  37. share/doc/lutok/html/ftv2blank.png
  38. share/doc/lutok/html/ftv2doc.png
  39. share/doc/lutok/html/ftv2folderclosed.png
  40. share/doc/lutok/html/ftv2folderopen.png
  41. share/doc/lutok/html/ftv2ns.png
  42. share/doc/lutok/html/ftv2mo.png
  43. share/doc/lutok/html/ftv2cl.png
  44. share/doc/lutok/html/doxygen.css
  45. share/doc/lutok/html/ftv2lastnode.png
  46. share/doc/lutok/html/ftv2link.png
  47. share/doc/lutok/html/ftv2mlastnode.png
  48. share/doc/lutok/html/ftv2mnode.png
  49. share/doc/lutok/html/ftv2node.png
  50. share/doc/lutok/html/ftv2plastnode.png
  51. share/doc/lutok/html/ftv2pnode.png
  52. share/doc/lutok/html/ftv2vertline.png
  53. share/doc/lutok/html/ftv2splitbar.png
  54. share/doc/lutok/html/search/mag_sel.png
  55. share/doc/lutok/html/search/search_l.png
  56. share/doc/lutok/html/search/search_m.png
  57. share/doc/lutok/html/search/search_r.png
  58. share/doc/lutok/html/search/close.png
  59. share/doc/lutok/html/search/search.css
  60. share/doc/lutok/html/search/all_5f.html
  61. share/doc/lutok/html/search/all_5f.js
  62. share/doc/lutok/html/search/all_61.html
  63. share/doc/lutok/html/search/all_61.js
  64. share/doc/lutok/html/search/all_63.html
  65. share/doc/lutok/html/search/all_63.js
  66. share/doc/lutok/html/search/all_64.html
  67. share/doc/lutok/html/search/all_64.js
  68. share/doc/lutok/html/search/all_65.html
  69. share/doc/lutok/html/search/all_65.js
  70. share/doc/lutok/html/search/all_66.html
  71. share/doc/lutok/html/search/all_66.js
  72. share/doc/lutok/html/search/all_67.html
  73. share/doc/lutok/html/search/all_67.js
  74. share/doc/lutok/html/search/all_68.html
  75. share/doc/lutok/html/search/all_68.js
  76. share/doc/lutok/html/search/all_69.html
  77. share/doc/lutok/html/search/all_69.js
  78. share/doc/lutok/html/search/all_6c.html
  79. share/doc/lutok/html/search/all_6c.js
  80. share/doc/lutok/html/search/all_6e.html
  81. share/doc/lutok/html/search/all_6e.js
  82. share/doc/lutok/html/search/all_6f.html
  83. share/doc/lutok/html/search/all_6f.js
  84. share/doc/lutok/html/search/all_70.html
  85. share/doc/lutok/html/search/all_70.js
  86. share/doc/lutok/html/search/all_72.html
  87. share/doc/lutok/html/search/all_72.js
  88. share/doc/lutok/html/search/all_73.html
  89. share/doc/lutok/html/search/all_73.js
  90. share/doc/lutok/html/search/all_74.html
  91. share/doc/lutok/html/search/all_74.js
  92. share/doc/lutok/html/search/all_75.html
  93. share/doc/lutok/html/search/all_75.js
  94. share/doc/lutok/html/search/all_77.html
  95. share/doc/lutok/html/search/all_77.js
  96. share/doc/lutok/html/search/all_7e.html
  97. share/doc/lutok/html/search/all_7e.js
  98. share/doc/lutok/html/search/classes_61.html
  99. share/doc/lutok/html/search/classes_61.js
  100. share/doc/lutok/html/search/classes_64.html
  101. share/doc/lutok/html/search/files_63.js
  102. share/doc/lutok/html/search/classes_64.js
  103. share/doc/lutok/html/search/classes_65.html
  104. share/doc/lutok/html/search/classes_65.js
  105. share/doc/lutok/html/search/classes_66.html
  106. share/doc/lutok/html/search/classes_66.js
  107. share/doc/lutok/html/search/classes_69.html
  108. share/doc/lutok/html/search/classes_69.js
  109. share/doc/lutok/html/search/classes_73.html
  110. share/doc/lutok/html/search/classes_73.js
  111. share/doc/lutok/html/search/namespaces_61.html
  112. share/doc/lutok/html/search/namespaces_61.js
  113. share/doc/lutok/html/search/files_63.html
  114. share/doc/lutok/html/search/files_64.html
  115. share/doc/lutok/html/search/files_64.js
  116. share/doc/lutok/html/search/files_65.html
  117. share/doc/lutok/html/search/files_65.js
  118. share/doc/lutok/html/search/files_6f.html
  119. share/doc/lutok/html/search/files_6f.js
  120. share/doc/lutok/html/search/files_73.html
  121. share/doc/lutok/html/search/files_73.js
  122. share/doc/lutok/html/search/files_74.html
  123. share/doc/lutok/html/search/files_74.js
  124. share/doc/lutok/html/search/functions_61.html
  125. share/doc/lutok/html/search/functions_61.js
  126. share/doc/lutok/html/search/functions_63.html
  127. share/doc/lutok/html/search/functions_63.js
  128. share/doc/lutok/html/search/functions_64.html
  129. share/doc/lutok/html/search/functions_64.js
  130. share/doc/lutok/html/search/functions_65.html
  131. share/doc/lutok/html/search/functions_65.js
  132. share/doc/lutok/html/search/functions_66.html
  133. share/doc/lutok/html/search/functions_66.js
  134. share/doc/lutok/html/search/functions_67.html
  135. share/doc/lutok/html/search/functions_67.js
  136. share/doc/lutok/html/search/functions_68.html
  137. share/doc/lutok/html/search/functions_68.js
  138. share/doc/lutok/html/search/functions_69.html
  139. share/doc/lutok/html/search/functions_69.js
  140. share/doc/lutok/html/search/functions_6c.html
  141. share/doc/lutok/html/search/functions_6c.js
  142. share/doc/lutok/html/search/functions_6e.js
  143. share/doc/lutok/html/search/functions_6e.html
  144. share/doc/lutok/html/search/functions_6f.html
  145. share/doc/lutok/html/search/functions_6f.js
  146. share/doc/lutok/html/search/functions_70.html
  147. share/doc/lutok/html/search/functions_70.js
  148. share/doc/lutok/html/search/functions_72.html
  149. share/doc/lutok/html/search/functions_72.js
  150. share/doc/lutok/html/search/functions_73.html
  151. share/doc/lutok/html/search/functions_73.js
  152. share/doc/lutok/html/search/functions_74.html
  153. share/doc/lutok/html/search/functions_74.js
  154. share/doc/lutok/html/search/functions_75.html
  155. share/doc/lutok/html/search/functions_75.js
  156. share/doc/lutok/html/search/functions_77.html
  157. share/doc/lutok/html/search/functions_77.js
  158. share/doc/lutok/html/search/functions_7e.html
  159. share/doc/lutok/html/search/functions_7e.js
  160. share/doc/lutok/html/search/variables_5f.html
  161. share/doc/lutok/html/search/variables_5f.js
  162. share/doc/lutok/html/search/variables_6c.html
  163. share/doc/lutok/html/search/variables_6c.js
  164. share/doc/lutok/html/search/variables_6f.html
  165. share/doc/lutok/html/search/variables_6f.js
  166. share/doc/lutok/html/search/variables_73.html
  167. share/doc/lutok/html/search/variables_73.js
  168. share/doc/lutok/html/search/defines_72.html
  169. share/doc/lutok/html/search/defines_72.js
  170. share/doc/lutok/html/search/search.js
  171. share/doc/lutok/html/search/nomatches.html
  172. share/doc/lutok/html/a00013_source.html
  173. share/doc/lutok/html/a00016_source.html
  174. share/doc/lutok/html/a00019_source.html
  175. share/doc/lutok/html/a00022_source.html
  176. share/doc/lutok/html/a00025_source.html
  177. share/doc/lutok/html/a00028_source.html
  178. share/doc/lutok/html/a00031_source.html
  179. share/doc/lutok/html/a00013.html
  180. share/doc/lutok/html/a00016.html
  181. share/doc/lutok/html/a00019.html
  182. share/doc/lutok/html/a00022.html
  183. share/doc/lutok/html/a00025.html
  184. share/doc/lutok/html/a00028.html
  185. share/doc/lutok/html/a00031.html
  186. share/doc/lutok/html/a00032.html
  187. share/doc/lutok/html/a00033.html
  188. share/doc/lutok/html/a00034.html
  189. share/doc/lutok/html/a00035.html
  190. share/doc/lutok/html/a00001.html
  191. share/doc/lutok/html/a00039.html
  192. share/doc/lutok/html/a00011.html
  193. share/doc/lutok/html/a00040.html
  194. share/doc/lutok/html/a00003.html
  195. share/doc/lutok/html/a00041.html
  196. share/doc/lutok/html/a00004.html
  197. share/doc/lutok/html/a00042.html
  198. share/doc/lutok/html/a00005.html
  199. share/doc/lutok/html/a00005.png
  200. share/doc/lutok/html/a00043.html
  201. share/doc/lutok/html/a00002.html
  202. share/doc/lutok/html/a00002.png
  203. share/doc/lutok/html/a00044.html
  204. share/doc/lutok/html/a00006.html
  205. share/doc/lutok/html/a00006.png
  206. share/doc/lutok/html/a00045.html
  207. share/doc/lutok/html/a00007.html
  208. share/doc/lutok/html/a00046.html
  209. share/doc/lutok/html/a00008.html
  210. share/doc/lutok/html/a00047.html
  211. share/doc/lutok/html/a00009.html
  212. share/doc/lutok/html/a00048.html
  213. share/doc/lutok/html/a00010.html
  214. share/doc/lutok/html/a00049.html
  215. share/doc/lutok/html/index.html
  216. share/doc/lutok/html/namespaces.html
  217. share/doc/lutok/html/namespacemembers.html
  218. share/doc/lutok/html/namespacemembers_func.html
  219. share/doc/lutok/html/annotated.html
  220. share/doc/lutok/html/classes.html
  221. share/doc/lutok/html/hierarchy.html
  222. share/doc/lutok/html/functions.html
  223. share/doc/lutok/html/functions_func.html
  224. share/doc/lutok/html/functions_vars.html
  225. share/doc/lutok/html/files.html
  226. share/doc/lutok/html/globals.html
  227. share/doc/lutok/html/globals_defs.html
  228. share/examples/lutok/Makefile
  229. share/examples/lutok/bindings.cpp
  230. share/examples/lutok/hello.cpp
  231. share/examples/lutok/interpreter.cpp
  232. share/examples/lutok/raii.cpp
  233. tests/lutok/Kyuafile
  234. tests/lutok/c_gate_test
  235. tests/lutok/debug_test
  236. tests/lutok/examples_test
  237. tests/lutok/exceptions_test
  238. tests/lutok/operations_test
  239. tests/lutok/stack_cleaner_test
  240. tests/lutok/state_test
  241. @owner
  242. @group
  243. @mode
Collapse this list.
Dependency lines:
  • lutok>0:devel/lutok
To install the port:
cd /usr/ports/devel/lutok/ && make install clean
To add the package, run one of these commands:
  • pkg install devel/lutok
  • pkg install lutok
NOTE: If this package has multiple flavors (see below), then use one of them instead of the name specified above.
PKGNAME: lutok
Flavors: there is no flavor information for this port.

Packages (timestamps in pop-ups are UTC):
NOTE: FreshPorts displays only information on required and default dependencies. Optional dependencies are not covered.
Build dependencies:
  1. atf>=0.21 : devel/atf
  2. pkgconf>=1.3.0_1 : devel/pkgconf
Runtime dependencies:
  1. atf>=0.21 : devel/atf
Library dependencies:
  1. : lang/lua54
This port is required by:
for Libraries
  1. devel/kyua

Deleted ports which required this port:

Expand this list of 1 deleted port
  1. devel/kyua-cli*
  2. Collapse this list of deleted ports.
* - deleted ports are only shown under the This port is required by section. It was harder to do for the Required section. Perhaps later...

Configuration Options:
Options name:
FreshPorts was unable to extract/find any pkg message
Master Sites:
Expand this list (5 items)
Collapse this list.
Collapse this list.

Number of commits found: 25

Commit History - (may be incomplete: for full details, see links to repositories near top of page)
CommitCreditsLog message
07 May 2023 18:38:48
commit hash:d994be1167ebf8a892784294af368ba14053150fcommit hash:d994be1167ebf8a892784294af368ba14053150fcommit hash:d994be1167ebf8a892784294af368ba14053150fcommit hash:d994be1167ebf8a892784294af368ba14053150f files touched by this commit
Dimitry Andric (dim) search for other commits by this committer
devel/lutok: fix build with clang 16

Since clang 16 (and gcc 11) the default C++ standard is now gnu++17.
Because devel/lutok's Makefile does not explicitly set its C++ standard,
this leads to an error:

  In file included from operations.cpp:35:
  ./stack_cleaner.hpp:75:10: error: no template named 'auto_ptr' in namespace
      std::auto_ptr< impl > _pimpl;

Add USE_CXXSTD=gnu++98 to avoid the error. While here, pet portlint.

PR:		271053
Approved by:	maintainer timeout (2 weeks)
MFH:		2023Q2
07 Sep 2022 21:58:51
commit hash:fb16dfecae4a6efac9f3a78e0b759fb7a3c53de4commit hash:fb16dfecae4a6efac9f3a78e0b759fb7a3c53de4commit hash:fb16dfecae4a6efac9f3a78e0b759fb7a3c53de4commit hash:fb16dfecae4a6efac9f3a78e0b759fb7a3c53de4 files touched by this commit
Stefan Eßer (se) search for other commits by this committer
Remove WWW entries moved into port Makefiles

Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.

This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.

Approved by:		portmgr (tcberner)
07 Sep 2022 21:10:59
commit hash:b7f05445c00f2625aa19b4154ebcbce5ed2daa52commit hash:b7f05445c00f2625aa19b4154ebcbce5ed2daa52commit hash:b7f05445c00f2625aa19b4154ebcbce5ed2daa52commit hash:b7f05445c00f2625aa19b4154ebcbce5ed2daa52 files touched by this commit
Stefan Eßer (se) search for other commits by this committer
Add WWW entries to port Makefiles

It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.

Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.

There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above View all of this commit message)
20 Jul 2022 14:21:35
commit hash:aa6eefd5e663357e8223399bc38c7987f5e35746commit hash:aa6eefd5e663357e8223399bc38c7987f5e35746commit hash:aa6eefd5e663357e8223399bc38c7987f5e35746commit hash:aa6eefd5e663357e8223399bc38c7987f5e35746 files touched by this commit
Tobias C. Berner (tcberner) search for other commits by this committer
devel: remove 'Created by' lines

A big Thank You to the original contributors of these ports:

  *  "Waitman Gobble" <>
  *  <>
  *  Aaron Dalton <>
  *  Aaron Dalton <>
  *  Aaron H. K. Diep <>
  *  Aaron Hurt <>
  *  Abel Chow <>
  *  Adam McLaurin
  *  Adam Saponara <>
  *  Adam Weinberger <>
  *  Ade Lovett <>
(Only the first 15 lines of the commit message are shown above View all of this commit message)
06 Apr 2021 14:31:07
commit hash:305f148f482daf30dcf728039d03d019f88344ebcommit hash:305f148f482daf30dcf728039d03d019f88344ebcommit hash:305f148f482daf30dcf728039d03d019f88344ebcommit hash:305f148f482daf30dcf728039d03d019f88344eb files touched by this commit
Mathieu Arnold (mat) search for other commits by this committer
Remove # $FreeBSD$ from Makefiles.
22 Apr 2019 23:34:13
Revision:499695Original commit files touched by this commit
ngie search for other commits by this committer
Backport patch to fix error check with access(3) failures

The code was not properly checking the failure from access(3).

Backport the patch from GitHub (made after the 0.4 release) which fixes this

Bump PORTREVISION for the change.

PR:		237459
Reviewed by:	asomers, jmmv
Approved by:	jmmv (maintainer)
Obtained from:
Differential Revision:
21 Oct 2016 12:51:41
Revision:424411Original commit files touched by this commit Sanity Test Failure
mat search for other commits by this committer
${RM} already has -f.

PR:		213570
Submitted by:	mat
Exp-run by:	antoine
Sponsored by:	Absolight
01 Apr 2016 14:00:57
Revision:412346Original commit files touched by this commit
mat search for other commits by this committer
Remove ${PORTSDIR}/ from dependencies, categories d, e, f, and g.

With hat:	portmgr
Sponsored by:	Absolight
30 Oct 2014 16:41:15
Revision:371763Original commit files touched by this commit
jmmv search for other commits by this committer
Update devel/lutok's dependency on atf to 0.21.

Differential Revision:
Approved by:	bapt
27 Oct 2014 10:40:08
Revision:371546Original commit files touched by this commit
bapt search for other commits by this committer
Cleanup plist
15 Aug 2014 18:56:58
Revision:365021Original commit files touched by this commit
jmmv search for other commits by this committer
Reflect lutok's master site move from Google Code to GitHub.

Reviewed by:	bdrewery (D610)
Approved by:	bdrewery (ports)
03 Jun 2014 21:13:40
Revision:356413Original commit files touched by this commit
antoine search for other commits by this committer
This fixes build on FreeBSD 10 which has libatf in base

Phabric:	D134
26 May 2014 02:57:19
Revision:355276Original commit files touched by this commit
jmmv search for other commits by this committer
Enable the TEST option by default in atf-based ports.

Get ports that use the atf libraries to install their tests by default.
This is to showcase the potential of getting the tests installed on a
live system and will also simplify the process of running them periodically
out of /usr/local/tests/.

Packages confirmed to build with this option enabled.

Approved by:	bapt (ports)
24 May 2014 20:11:06
Revision:355077Original commit files touched by this commit
jmmv search for other commits by this committer
Change ports that use the ATF libraries to depend on devel/atf.

As part of this, make it possible to install devel/atf independently of
the presence of ATF in the base system.  This is so that we can turn the
ATF libraries in base into private libraries.

Note that this should have no effect on prebuilt binary packages because
these changes only apply when the TEST option is selected, and this option
is not yet the default.

Approved by:	eadler (ports)
17 May 2014 17:05:11
Revision:354344Original commit files touched by this commit
jmmv search for other commits by this committer
Make devel/lutok use USES+=libtool.

As a side-effect, also make use of install-strip for installation.

Approved by:	bdrewery
11 Feb 2014 03:48:38
Revision:343717Original commit files touched by this commit
jmmv search for other commits by this committer
Install tests for lutok, kyua-testers and kyua.

This is all conditionalized on a TEST option.

Approved by:	bdrewery
25 Jan 2014 20:24:30
Revision:341087Original commit files touched by this commit
jmmv search for other commits by this committer
Remove FreeBSD svn keyword form pkg-plist files.

Approved by:	bapt (ports)
24 Jan 2014 19:46:57
Revision:340929Original commit files touched by this commit
jmmv (src committer) search for other commits by this committer
Add staging support to kyua* and lutok.

While doing this, consolidate file handling into pkg-plist (instead of
the previous split between the Makefile and the pkg-plist) for simplicity.

Reviewed by:	asomers (ex-maintainer)
Approved by:	bdrewery (ports)
13 Jan 2014 21:29:45
Revision:339638Original commit files touched by this commit
asomers (src committer) search for other commits by this committer
Change maintainer of devel/{lutok,kyua-testers,kyua,kyua-atf-compat} from
Alan Somers to Julio Merino, who is also the upstream maintainer.

Approved by:	bdrewery
10 Jan 2014 13:19:01
Revision:339350Original commit files touched by this commit
bapt search for other commits by this committer
Port to lua 5.2
Support stage which eliminate lots of hacks
10 Dec 2013 23:02:31
Revision:336124Original commit files touched by this commit
jmmv (src committer) search for other commits by this committer
Update to 0.4.

Approved by:	rpaulo (mentor), asomers (maintainer), bdrewery (ports)
21 Oct 2013 23:10:50
Revision:331207Original commit files touched by this commit
asomers (src committer) search for other commits by this committer
Update to version 0.3.  Don't create the empty directory /usr/tests/lutok.

PR:		183088
Submitted by:	Julio Merino <>
Reviewed by:	asomers
Approved by:	bdrewery
26 Sep 2013 20:08:39
Revision:328410Original commit files touched by this commit
eadler search for other commits by this committer
Certain automated tools fail when is not capitalized appropriatly.
Fix ports which don't follow convention.
20 Sep 2013 17:13:47
Revision:327724Original commit files touched by this commit
bapt search for other commits by this committer
Add NO_STAGE all over the place in preparation for the staging support (cat:
devel part 3)
19 May 2013 04:19:16
Revision:318484Original commit files touched by this commit
bdrewery search for other commits by this committer
Lutok is a lightweight C++ API library for Lua.

Lutok provides thin C++ wrappers around the Lua C API to ease the
interaction between C++ and Lua.  These wrappers make intensive use of
RAII to prevent resource leakage, expose C++-friendly data types, report
errors by means of exceptions and ensure that the Lua stack is always
left untouched in the face of errors.  The library also provides a small
subset of miscellaneous utility functions built on top of the wrappers.

Lutok focuses on providing a clean and safe C++ interface; the drawback
is that it is not suitable for performance-critical environments.  In
order to implement error-safe C++ wrappers on top of a Lua C binary
library, Lutok adds several layers or abstraction and error checking
that go against the original spirit of the Lua C API and thus degrade


PR:		ports/177639
Submitted by:	Alan Somers <>

Number of commits found: 25