games/burr-tools: update to 0.7.0

- project has moved to github
 - project now builds with meson
 - rename from burrtools to burr-tools to match repository name
 - docs require Python 2.7 to build.  As per policy, I have thus
   not packaged them.

Changelog: https://github.com/burr-tools/burr-tools/releases/tag/v0.7.0
This commit is contained in:
Robert Clausecker
2025-10-30 13:31:20 +01:00
parent 1bb6a902c1
commit dc0fdede53
12 changed files with 112 additions and 121 deletions
+1
View File
@@ -4833,3 +4833,4 @@ devel/rubygem-multi_json114|devel/rubygem-multi_json-gitlab|2025-10-25|Use devel
devel/pycomposefile|devel/py-pycomposefile|2025-10-27|Rename to add py- prefix. Move devel/pycomposefile to devel/py-pycomposefile
devel/rubygem-fugit111|devel/rubygem-fugit|2025-10-27|Remove obsoleted port. Use devel/rubygem-fugit instead
science/py-hiphive|science/py-hiPhive|2025-10-28|Spelling changed into camel case on PYPI and GH
games/burrtools|games/burr-tools|2025-10-31|Harmonise with upstream repository name
+1 -1
View File
@@ -132,7 +132,7 @@
SUBDIR += bugsx
SUBDIR += bumprace
SUBDIR += burgerspace
SUBDIR += burrtools
SUBDIR += burr-tools
SUBDIR += bzflag
SUBDIR += bzflag-server
SUBDIR += cake
+49
View File
@@ -0,0 +1,49 @@
PORTNAME= burr-tools
DISTVERSIONPREFIX= v
DISTVERSION= 0.7.0
CATEGORIES= games
MAINTAINER= fuz@FreeBSD.org
COMMENT= Puzzle solver
WWW= https://burrtools.sourceforge.net/
LICENSE= GPLv2+ # COPYING is GPLv3
BUILD_DEPENDS= boost-libs>0:devel/boost-libs
LIB_DEPENDS= libpng.so:graphics/png \
libfltk.so:x11-toolkits/fltk
USES= gl localbase:ldflags lua:51 meson pkgconfig
USE_CXXSTD= c++14
USE_GITHUB= yes
USE_GL= gl glu
DESKTOP_ENTRIES= "Burr Tools" "" "burricons" "burrtools" "Game;LogicGame;" ""
PLIST_FILES= bin/burrTxt bin/burrTxt2 bin/burrtools \
share/pixmaps/burricons.png
PORTEXAMPLES= *
OPTIONS_DEFINE= EXAMPLES
# delete bundled lua 5.1
post-extract:
${GREP} -lv 'Burr Solver' ${WRKSRC}/src/lua | ${XARGS} ${RM}
pre-configure:
${REINPLACE_CMD} -e 's/%%PKGVERSION%%/${PKGVERSION}/' ${WRKSRC}/meson.build
post-build:
(cd ${WRKSRC} && uudecode ${FILESDIR}/burricons.png.uu)
do-install:
(cd ${INSTALL_WRKSRC} && ${INSTALL_PROGRAM} burrTxt burrTxt2 burrtools \
${STAGEDIR}${PREFIX}/bin)
${INSTALL_DATA} ${WRKSRC}/burricons.png ${STAGEDIR}${PREFIX}/share/pixmaps
do-install-EXAMPLES-on:
@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
@(cd ${WRKSRC}/examples && ${COPYTREE_SHARE} . \
${STAGEDIR}${EXAMPLESDIR})
.include <bsd.port.mk>
+3
View File
@@ -0,0 +1,3 @@
TIMESTAMP = 1761825073
SHA256 (burr-tools-burr-tools-v0.7.0_GH0.tar.gz) = 735893471dfbb4b73ae80dd0d30a4947d6c45ddfb1d1495e6c4b97b60152513c
SIZE (burr-tools-burr-tools-v0.7.0_GH0.tar.gz) = 1534659
+58
View File
@@ -0,0 +1,58 @@
--- meson.build.orig 2025-10-30 12:13:51 UTC
+++ meson.build
@@ -1,8 +1,6 @@ project('burrtools', 'cpp', 'c',
project('burrtools', 'cpp', 'c',
- version: run_command('sh', '-c',
- 'git describe --tags --always --dirty 2>/dev/null || echo 0.7.0-unknown',
- check: false).stdout().strip(),
-
+ version: '%%PKGVERSION%%',
+
default_options : [
'c_std=c11',
'build.c_std=c11',
@@ -27,26 +25,6 @@ lua_src = [
endif
lua_src = [
- 'src/lua/lapi.c',
- 'src/lua/lauxlib.c',
- 'src/lua/lcode.c',
- 'src/lua/ldebug.c',
- 'src/lua/ldo.c',
- 'src/lua/ldump.c',
- 'src/lua/lfunc.c',
- 'src/lua/lgc.c',
- 'src/lua/llex.c',
- 'src/lua/lmem.c',
- 'src/lua/lobject.c',
- 'src/lua/lopcodes.c',
- 'src/lua/lparser.c',
- 'src/lua/lstate.c',
- 'src/lua/lstring.c',
- 'src/lua/ltable.c',
- 'src/lua/ltm.c',
- 'src/lua/lundump.c',
- 'src/lua/lvm.c',
- 'src/lua/lzio.c',
'src/lua/luaclass.cpp',
]
@@ -205,6 +183,7 @@ gdiplus_dep = dependency('', required: false)
gdiplus_dep = dependency('', required: false)
+lua_dep = dependency('lua-5.1')
fltk_dep = cxx.find_library('fltk', required: false)
fltkgl_dep = cxx.find_library('fltk_gl', required: false)
fltkimages_dep = cxx.find_library('fltk_images', required: false)
@@ -277,7 +256,7 @@ executable('burrTxt2', tools_src + halfedge_src + lib
dependencies: [thread_dep, zlib_dep],
)
-executable('burrtools', lua_src + tools_src + gui_src + halfedge_src + libburr_src,
- dependencies: [thread_dep, zlib_dep, gl_dep, glu_dep, gdiplus_dep, fltk_dep, fltkgl_dep, fltkimages_dep, fltkpng_dep, fltkz_dep, libpng_dep, cocoa_dep],
+executable('burrtools', lua_src + tools_src + gui_src + halfedge_src + libburr_src,
+ dependencies: [lua_dep, thread_dep, zlib_dep, gl_dep, glu_dep, gdiplus_dep, fltk_dep, fltkgl_dep, fltkimages_dep, fltkpng_dep, fltkz_dep, libpng_dep, cocoa_dep],
win_subsystem: 'windows',
)
-64
View File
@@ -1,64 +0,0 @@
PORTNAME= burrtools
PORTVERSION= 0.6.3
PORTREVISION= 30
CATEGORIES= games
MASTER_SITES= SF
MAINTAINER= fuz@FreeBSD.org
COMMENT= Puzzle solver
WWW= https://burrtools.sourceforge.net/
LICENSE= GPLv2+ # COPYING is GPLv3
BUILD_DEPENDS= boost-libs>0:devel/boost-libs
LIB_DEPENDS= libpng.so:graphics/png \
libfltk.so:x11-toolkits/fltk
USES= gl gmake localbase lua:51
USE_CXXSTD= c++14
USE_GL= gl glu
GNU_CONFIGURE= yes
CONFIGURE_ENV= ac_cv_lib_ICE_IceConnectionNumber="no" \
ac_cv_search_glutInit="none required"
MAKE_ARGS= am_lua_liblua_a_OBJECTS='lua/luaclass.$$(OBJEXT)'
LDFLAGS+= -Wl,--as-needed # fltk deps
LIBS+= -llua-${LUA_VER}
DESKTOP_ENTRIES="BurrGui" "" "burricons" "burrGui" "Game;LogicGame;" ""
PLIST_FILES= bin/burrTxt bin/burrTxt2 bin/burrGui \
share/pixmaps/burricons.png
PORTDOCS= *
PORTEXAMPLES= *
OPTIONS_DEFINE= DOCS EXAMPLES
pre-configure:
${REINPLACE_CMD} -e '/GL_X_LIBS/d' ${WRKSRC}/configure
${REINPLACE_CMD} -e \
's|g++ |$$(CXX) | ; \
s|-O2 |$$(CXXFLAGS) $$(LDFLAGS) |' ${WRKSRC}/src/Makefile.in
post-build:
(cd ${WRKSRC} && uudecode ${FILESDIR}/burricons.png.uu)
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/src/burrTxt ${WRKSRC}/src/burrTxt2 \
${STAGEDIR}${PREFIX}/bin
${INSTALL_PROGRAM} ${WRKSRC}/src/gui/burrGui ${STAGEDIR}${PREFIX}/bin
${INSTALL_DATA} ${WRKSRC}/burricons.png ${STAGEDIR}${PREFIX}/share/pixmaps
do-install-DOCS-on:
@${MKDIR} ${STAGEDIR}${DOCSDIR}
.for i in AUTHORS ChangeLog NEWS README
${INSTALL_DATA} ${WRKSRC}/${i} ${STAGEDIR}${DOCSDIR}
.endfor
do-install-EXAMPLES-on:
@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
@(cd ${WRKSRC}/examples && ${COPYTREE_SHARE} . \
${STAGEDIR}${EXAMPLESDIR})
.include <bsd.port.mk>
-2
View File
@@ -1,2 +0,0 @@
SHA256 (burrtools-0.6.3.tar.gz) = 7354804f41a7326c36bf5f4b0b4c8d39c683ce522700192fb05d8436b9da93ff
SIZE (burrtools-0.6.3.tar.gz) = 1895328
-54
View File
@@ -1,54 +0,0 @@
Found by -fsanitize=undefined as
$ burrGui
lua/luaclass.cpp:60:17: runtime error: execution reached the end of a value-returning function without returning a value
which with Clang leads to
* thread #1: tid = 100272, 0x00000000005d0d2d burrGui`luaClass_c::doString(this=0x00007fffffffd6e0, code="windowposh = 600") + 125 at luaclass.cpp:61, stop reason = signal SIGILL: privileged instruction
frame #0: 0x00000000005d0d2d burrGui`luaClass_c::doString(this=0x00007fffffffd6e0, code="windowposh = 600") + 125 at luaclass.cpp:61
58 luaL_loadfile(L, fname) || lua_pcall(L, 0, 0, 0);
59 }
60 int luaClass_c::doString(const char *code) {
-> 61 luaL_loadbuffer(L, code, strlen(code), "line") || lua_pcall(L, 0, 0, 0);
62 }
63
64 /* functions that allow calling lua functions
(lldb) bt
* thread #1: tid = 100272, 0x00000000005d0d2d burrGui`luaClass_c::doString(this=0x00007fffffffd6e0, code="windowposh = 600") + 125 at luaclass.cpp:61, stop reason = signal SIGILL: privileged instruction
* frame #0: 0x00000000005d0d2d burrGui`luaClass_c::doString(this=0x00007fffffffd6e0, code="windowposh = 600") + 125 at luaclass.cpp:61
frame #1: 0x0000000000416735 burrGui`configuration_c::parse(this=0x00000000008e5a18) + 165 at configuration.cpp:65
frame #2: 0x0000000000416fbb burrGui`configuration_c::configuration_c(this=0x00000000008e5a18) + 939 at configuration.cpp:144
frame #3: 0x0000000000417877 burrGui`::__cxx_global_var_init() + 23 at configuration.cpp:266
frame #4: 0x00000000004178b9 burrGui`_GLOBAL__sub_I_configuration.cpp + 9 at configuration.cpp:0
frame #5: 0x00000000006221e2 burrGui`__do_global_ctors_aux + 34
frame #6: 0x000000000040e986 burrGui
--- src/lua/luaclass.cpp.orig 2013-05-08 19:02:06 UTC
+++ src/lua/luaclass.cpp
@@ -54,10 +54,10 @@ bool luaClass_c::getBool(const char *nam
}
/* functions to evaluate lua code */
-int luaClass_c::doFile(const char *fname) {
+void luaClass_c::doFile(const char *fname) {
luaL_loadfile(L, fname) || lua_pcall(L, 0, 0, 0);
}
-int luaClass_c::doString(const char *code) {
+void luaClass_c::doString(const char *code) {
luaL_loadbuffer(L, code, strlen(code), "line") || lua_pcall(L, 0, 0, 0);
}
--- src/lua/luaclass.h.orig 2013-05-08 19:02:06 UTC
+++ src/lua/luaclass.h
@@ -45,8 +45,8 @@ class luaClass_c {
bool getBool(const char *name);
/* functions to evaluate lua code */
- int doFile(const char *fname);
- int doString(const char *code);
+ void doFile(const char *fname);
+ void doString(const char *code);
/* functions that allow calling lua functions
*