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 <s...@users.sourceforge.net>

# 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 <s...@users.sourceforge.net>
@@ -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 
<s...@spacehopper.org> 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.


Attachment: jimtcl_makefile.gz
Description: application/gzip

Attachment: jimtcl_makefile_diff.gz
Description: application/gzip

Reply via email to