I'm a foolish optimist when it comes to email mangling. Thanks for the feedback, here's the latest - also attached.
cad/openocd will break with this version of Jim,
so it needs to be updated beforehand.
Stu
COMMENT-main = small footprint implementation of Tcl
COMMENT-redis = REDIS extension for Jimtcl
COMMENT-sdl = SDL extension for Jimtcl
COMMENT-sqlite = SQLite extension for Jimtcl
PKGNAME-redis = ${PKGNAME:S|-|-redis-|}
PKGNAME-sdl = ${PKGNAME:S|-|-sdl-|}
PKGNAME-sqlite = ${PKGNAME:S|-|-sqlite-|}
MULTI_PACKAGES = -main -redis -sdl -sqlite
GH_ACCOUNT = msteveb
GH_PROJECT = jimtcl
GH_TAGNAME = 0.81
SHARED_LIBS = jim 4.0
CATEGORIES = lang devel
HOMEPAGE = http://jim.tcl.tk/
MAINTAINER = Stuart Cassoff <[email protected]>
# BSD
PERMIT_PACKAGE = Yes
WANTLIB-main = c crypto execinfo m ssl util z
WANTLIB-redis = jim hiredis
WANTLIB-sdl = jim SDL2 SDL2_gfx-1.0 SDL2_ttf
WANTLIB-sqlite = jim sqlite3
MODULES = lang/tcl
MODTCL_VERSION = 8.6
BUILD_DEPENDS = ${MODTCL_BUILD_DEPENDS}
LIB_DEPENDS-redis = lang/jimtcl,-main \
databases/libhiredis
LIB_DEPENDS-sdl = lang/jimtcl,-main \
devel/sdl2-gfx \
devel/sdl2-ttf
LIB_DEPENDS-sqlite = lang/jimtcl,-main \
databases/sqlite3
MAKE_FLAGS = LIBJIM=libjim.so.${LIBjim_VERSION} \
SH_CFLAGS=${PICFLAG} \
SHOBJ_CFLAGS=${PICFLAG}
FAKE_FLAGS = INSTALL_DATA_DIR='${INSTALL_DATA_DIR}' \
INSTALL_DATA='${INSTALL_DATA}' \
INSTALL_PROGRAM='${INSTALL_PROGRAM}' \
INSTALL_SCRIPT='${INSTALL_SCRIPT}'
CONFIGURE_STYLE = simple
CONFIGURE_SCRIPT = ${MODTCL_BIN} ${WRKSRC}/autosetup/autosetup
CONFIGURE_ARGS += --enable-shared \
--includedir='$${prefix}/include/jim' \
--disable-docs \
--docdir='$${prefix}/share/doc/jim' \
--full \
--compat \
--with-mod=redis,sdl,sqlite3 \
CCACHE=none
CONFIGURE_ENV += WRAPPER=${WRKSRC}/configure \
CFLAGS="${CFLAGS}" \
CPPFLAGS="-I${LOCALBASE}/include" \
LDFLAGS="-L${LOCALBASE}/lib"
pre-configure:
@cd ${WRKSRC}; ${SUBST_CMD} \
initjimsh.tcl examples.ext/Makefile examples.api/Makefile.in
post-install:
${INSTALL_DATA_DIR} ${PREFIX}/share/doc/jim
cd ${WRKSRC}; ${INSTALL_DATA} LICENSE \
README{,.extensions,.namespaces,.oo,.sqlite,.utf-8} \
${PREFIX}/share/doc/jim/
${INSTALL_DATA} ${WRKSRC}/Tcl_shipped.html \
${PREFIX}/share/doc/jim/Tcl.html
.include <bsd.port.mk>
--- /usr/ports/lang/jimtcl/Makefile Fri Mar 11 14:29:03 2022
+++ Makefile Sat Jan 18 06:49:28 2025
@@ -1,10 +1,19 @@
-COMMENT = small footprint implementation of Tcl
+COMMENT-main = small footprint implementation of Tcl
+COMMENT-redis = REDIS extension for Jimtcl
+COMMENT-sdl = SDL extension for Jimtcl
+COMMENT-sqlite = SQLite extension for Jimtcl
+PKGNAME-redis = ${PKGNAME:S|-|-redis-|}
+PKGNAME-sdl = ${PKGNAME:S|-|-sdl-|}
+PKGNAME-sqlite = ${PKGNAME:S|-|-sqlite-|}
+
+MULTI_PACKAGES = -main -redis -sdl -sqlite
+
GH_ACCOUNT = msteveb
GH_PROJECT = jimtcl
-GH_TAGNAME = 0.80
+GH_TAGNAME = 0.81
-SHARED_LIBS = jim 3.0
+SHARED_LIBS = jim 4.0
CATEGORIES = lang devel
HOMEPAGE = http://jim.tcl.tk/
MAINTAINER = Stuart Cassoff <[email protected]>
@@ -12,14 +21,26 @@
# BSD
PERMIT_PACKAGE = Yes
-WANTLIB = c crypto execinfo m sqlite3 ssl util z
+WANTLIB-main = c crypto execinfo m ssl util z
+WANTLIB-redis = jim hiredis
+WANTLIB-sdl = jim SDL2 SDL2_gfx-1.0 SDL2_ttf
+WANTLIB-sqlite = jim sqlite3
MODULES = lang/tcl
+MODTCL_VERSION = 8.6
BUILD_DEPENDS = ${MODTCL_BUILD_DEPENDS}
-LIB_DEPENDS = databases/sqlite3
+LIB_DEPENDS-redis = lang/jimtcl,-main \
+ databases/libhiredis
+LIB_DEPENDS-sdl = lang/jimtcl,-main \
+ devel/sdl2-gfx \
+ devel/sdl2-ttf
+
+LIB_DEPENDS-sqlite = lang/jimtcl,-main \
+ databases/sqlite3
+
MAKE_FLAGS = LIBJIM=libjim.so.${LIBjim_VERSION} \
SH_CFLAGS=${PICFLAG} \
SHOBJ_CFLAGS=${PICFLAG}
@@ -37,7 +58,8 @@
--disable-docs \
--docdir='$${prefix}/share/doc/jim' \
--full \
- --with-mod=sqlite3,zlib \
+ --compat \
+ --with-mod=redis,sdl,sqlite3 \
CCACHE=none
CONFIGURE_ENV += WRAPPER=${WRKSRC}/configure \
On Tuesday, January 14, 2025 at 04:41:08 p.m. EST, Stuart Henderson
<[email protected]> wrote:
On 2025/01/14 21:37, Stuart Henderson wrote:
> On 2025/01/14 17:19, Stuart Cassoff wrote:
> > I'd like to add MULTI_PACKAGES to an upcoming Jimtcl update.
> > He's the new Makefile and a diff. Does that look ok?
>
> Makefile and diff are totally mangled.
also,
> > PKGNAME-main = ${PKGNAME}
i think that's set by default these days
> > LIB_DEPENDS-redis = lang/jimtcl,-main databases/libhiredis
> > LIB_DEPENDS-sdl = lang/jimtcl,-main devel/sdl2-gfx devel/sdl2-ttf
> > LIB_DEPENDS-sqlite = lang/jimtcl,-main databases/sqlite3
it's customary to use one line per library here
> > .include <bsd.port.arch.mk>
> >
> > .if ${BUILD_PACKAGES:M-redis}
> > CONFIGURE_ARGS += --with-mod=redis
> > .endif
> >
> > .if ${BUILD_PACKAGES:M-sdl}
> > CONFIGURE_ARGS += --with-mod=sdl
> > .endif
> >
> > .if ${BUILD_PACKAGES:M-sqlite}
> > CONFIGURE_ARGS += --with-mod=sqlite3
> > .endif
those BUILD_PACKAGES:M don't do anything unless you also setup
no_XXX PSEUDO_FLAVORS.
These aren't too onerous as build deps, so I'd suggest just listing them
in the main block of CONFIGURE_ARGS and not making them conditional.
jimtcl_makefile.gz
Description: application/gzip
jimtcl_makefile_diff.gz
Description: application/gzip
