diff --git a/x11-toolkits/open-motif-devel/Makefile b/x11-toolkits/open-motif-devel/Makefile index ec74a5e473a9..d64c1dbe67d9 100644 --- a/x11-toolkits/open-motif-devel/Makefile +++ b/x11-toolkits/open-motif-devel/Makefile @@ -1,58 +1,58 @@ PORTNAME= open-motif PORTVERSION= ${COMMIT_DATE} -PORTREVISION= 6 +PORTREVISION= 7 CATEGORIES= x11-toolkits PKGNAMESUFFIX= -devel MAINTAINER= cy@FreeBSD.org COMMENT= Motif X11 Toolkit (industry standard GUI (IEEE 1295)) WWW= https://motif.ics.com/ USE_GITHUB= yes GH_ACCOUNT= cschuber GH_PROJECT= motif GH_TAGNAME= 0f556b08 COMMIT_DATE= 2023.02.16 LICENSE= LGPL21 LICENSE_FILE= ${WRKSRC}/COPYING MAKE_JOBS_UNSAFE= yes CONFLICTS= lesstif CONFLICTS_INSTALL= open-motif USES= autoreconf gmake iconv jpeg libtool:keepla pkgconfig xorg USE_XORG= x11 xaw xbitmaps xext xft xt xmu xrender sm ice LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \ libfreetype.so:print/freetype2 \ libpng.so:graphics/png \ libXmu.so:x11-toolkits/libXmu GNU_CONFIGURE= yes USE_LDCONFIG= yes CONFIGURE_ARGS= --enable-printing=no CPPFLAGS+= -DCSRG_BASED -DXUSE_MTSAFE_API -DXNO_MTSAFE_PWDAPI -I${PREFIX}/include USE_CSTD= gnu89 INSTALL_TARGET= install-strip OPTIONS_DEFINE= DOCS post-patch: # fix sections @${FIND} ${WRKSRC}/doc/man/man1 -name '*.1' -maxdepth 1 | \ ${XARGS} ${REINPLACE_CMD} -e 's|user cmd|1|' @${FIND} ${WRKSRC}/doc/man/man3 -name '*.3' -maxdepth 1 | \ ${XARGS} ${REINPLACE_CMD} -e 's|library call|3|' # mwmrc is not a kernel interface!! @cd ${WRKSRC}/doc/man && ${CP} -f man4/mwmrc.4 man5/mwmrc.5 @${FIND} ${WRKSRC}/doc/man/man5 -name '*.5' -maxdepth 1 | \ ${XARGS} ${REINPLACE_CMD} -e 's|special file|5| ; \ s|file formats|5|' @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|' ${WRKSRC}/configure.ac post-install: @${MKDIR} ${STAGEDIR}${DOCSDIR} .for i in BUGREPORT README RELNOTES ${INSTALL_DATA} ${WRKSRC}/${i} ${STAGEDIR}${DOCSDIR} .endfor .include diff --git a/x11-toolkits/open-motif-devel/files/patch-lib_Xm_EditresCom.c b/x11-toolkits/open-motif-devel/files/patch-lib_Xm_EditresCom.c new file mode 100644 index 000000000000..6eff286772da --- /dev/null +++ b/x11-toolkits/open-motif-devel/files/patch-lib_Xm_EditresCom.c @@ -0,0 +1,127 @@ +--- lib/Xm/EditresCom.c.orig 2023-02-15 16:42:34.000000000 -0800 ++++ lib/Xm/EditresCom.c 2023-10-16 20:14:52.602297000 -0700 +@@ -183,6 +183,39 @@ + } + #endif + ++#define HAVE_XMU_GET_WIDGET_INFO_RESOLVE 1 ++#ifdef HAVE_XMU_GET_WIDGET_INFO_RESOLVE ++static Boolean GetWidgetInfo(ProtocolStream *stream, WidgetInfo *info) { ++ return _XEditResGetWidgetInfoResolve(stream, info); ++} ++#else ++static Boolean GetWidgetInfo(ProtocolStream *stream, WidgetInfo *info) { ++ return _XEditResGetWidgetInfo(stream, info); ++} ++#endif ++ ++#define HAVE_XMU_PUT_WIDGET_INFO_UNRESOLVE 1 ++#ifdef HAVE_XMU_PUT_WIDGET_INFO_UNRESOLVE ++static void PutWidgetInfo(ProtocolStream *stream, WidgetInfo *info) { ++ _XEditResPutWidgetInfoUnresolve(stream, info); ++} ++#else ++static Boolean PutWidgetInfo(ProtocolStream *stream, WidgetInfo *info) { ++ _XEditResPutWidgetInfo(stream, info); ++} ++#endif ++ ++#define HAVE_XMU_PUT_WIDGET_UNRESOLVE 1 ++#ifdef HAVE_XMU_PUT_WIDGET_UNRESOLVE ++static void PutWidget(ProtocolStream *stream, Widget widget) { ++ _XEditResPutWidgetUnresolve(stream, widget); ++} ++#else ++static void PutWidget(ProtocolStream *stream, Widget widget) { ++ _XEditResPut32(stream, widget); ++} ++#endif ++ + /************************************************************ + * + * Resource Editor Communication Code +@@ -352,7 +385,7 @@ + XtCalloc(sizeof(WidgetInfo), sv_event->num_entries); + + for (i = 0; i < sv_event->num_entries; i++) { +- if (!_XEditResGetWidgetInfo(stream, sv_event->widgets + i)) ++ if (!GetWidgetInfo(stream, sv_event->widgets + i)) + goto done; + } + } +@@ -364,7 +397,7 @@ + find_event->widgets = (WidgetInfo *) + XtCalloc(sizeof(WidgetInfo), 1); + +- if (!(_XEditResGetWidgetInfo(stream, find_event->widgets) && ++ if (!(GetWidgetInfo(stream, find_event->widgets) && + _XEditResGetSigned16(stream, &(find_event->x)) && + _XEditResGetSigned16(stream, &(find_event->y)))) + { +@@ -384,7 +417,7 @@ + get_event->widgets = (WidgetInfo *) + XtCalloc(sizeof(WidgetInfo), get_event->num_entries); + for (i = 0; i < get_event->num_entries; i++) { +- if (!_XEditResGetWidgetInfo(stream, get_event->widgets + i)) ++ if (!GetWidgetInfo(stream, get_event->widgets + i)) + goto done; + } + } +@@ -397,7 +430,7 @@ + _XEditResGet16(stream, &(gv_event->num_entries)); + gv_event->widgets = (WidgetInfo *) + XtCalloc(sizeof(WidgetInfo), gv_event->num_entries); +- _XEditResGetWidgetInfo(stream, gv_event->widgets); ++ GetWidgetInfo(stream, gv_event->widgets); + } + break; + +@@ -846,7 +879,7 @@ + + for (i = 0 ; i < sv_event->num_entries; i++) { + if ((str = VerifyWidget(w, &(sv_event->widgets[i]))) != NULL) { +- _XEditResPutWidgetInfo(stream, &(sv_event->widgets[i])); ++ PutWidgetInfo(stream, &(sv_event->widgets[i])); + _XEditResPutString8(stream, str); + XtFree(str); + count++; +@@ -973,7 +1006,7 @@ + */ + + (*(info->count))++; +- _XEditResPutWidgetInfo(info->stream, info->entry); ++ PutWidgetInfo(info->stream, info->entry); + _XEditResPutString8(info->stream, pbuf); + if (pbuf != buf) + XtFree(pbuf); +@@ -1174,7 +1207,7 @@ + * Send out the widget id. + */ + +- _XEditResPutWidgetInfo(stream, &(geom_event->widgets[i])); ++ PutWidgetInfo(stream, &(geom_event->widgets[i])); + if ((str = VerifyWidget(w, &(geom_event->widgets[i]))) != NULL) { + _XEditResPutBool(stream, True); /* an error occured. */ + _XEditResPutString8(stream, str); /* set message. */ +@@ -1420,7 +1453,7 @@ + /* + * Send out the widget id. + */ +- _XEditResPutWidgetInfo(stream, &(res_event->widgets[i])); ++ PutWidgetInfo(stream, &(res_event->widgets[i])); + if ((str = VerifyWidget(w, &(res_event->widgets[i]))) != NULL) { + _XEditResPutBool(stream, True); /* an error occured. */ + _XEditResPutString8(stream, str); /* set message. */ +@@ -1766,10 +1799,11 @@ + + _XEditResPut16(stream, num_widgets); /* insert number of widgets. */ + for (i = 0; i < num_widgets; i++) /* insert Widgets themselves. */ +- _XEditResPut32(stream, widget_list[i]); ++ PutWidget(stream, (Widget)widget_list[i]); + + XtFree((char *)widget_list); + } ++ + + #if 0 + /************************************************************ diff --git a/x11-toolkits/open-motif/Makefile b/x11-toolkits/open-motif/Makefile index 2723ca4a7381..91f5f39f22c9 100644 --- a/x11-toolkits/open-motif/Makefile +++ b/x11-toolkits/open-motif/Makefile @@ -1,54 +1,54 @@ PORTNAME= open-motif PORTVERSION= 2.3.8 -PORTREVISION= 7 +PORTREVISION= 8 CATEGORIES= x11-toolkits # MASTER_SITES= SF/${PORTNAME}/Motif%202.3.4%20Source%20Code/ MASTER_SITES= SF/motif/Motif%20${PORTVERSION}%20Source%20Code/ DISTNAME= motif-${PORTVERSION} MAINTAINER= cy@FreeBSD.org COMMENT= Motif X11 Toolkit (industry standard GUI (IEEE 1295)) WWW= https://motif.ics.com/ LICENSE= LGPL21 LICENSE_FILE= ${WRKSRC}/COPYING MAKE_JOBS_UNSAFE= yes CONFLICTS= lesstif CONFLICTS_INSTALL= open-motif-devel USES= autoreconf gmake iconv jpeg libtool:keepla pkgconfig xorg USE_XORG= x11 xaw xbitmaps xext xft xt xmu xrender sm ice LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \ libfreetype.so:print/freetype2 \ libpng.so:graphics/png \ libXmu.so:x11-toolkits/libXmu GNU_CONFIGURE= yes USE_LDCONFIG= yes CONFIGURE_ARGS= --enable-printing=no CPPFLAGS+= -DCSRG_BASED -DXUSE_MTSAFE_API -DXNO_MTSAFE_PWDAPI -I${PREFIX}/include USE_CSTD= gnu89 INSTALL_TARGET= install-strip OPTIONS_DEFINE= DOCS post-patch: # fix sections @${FIND} ${WRKSRC}/doc/man/man1 -name '*.1' -maxdepth 1 | \ ${XARGS} ${REINPLACE_CMD} -e 's|user cmd|1|' @${FIND} ${WRKSRC}/doc/man/man3 -name '*.3' -maxdepth 1 | \ ${XARGS} ${REINPLACE_CMD} -e 's|library call|3|' # mwmrc is not a kernel interface!! @cd ${WRKSRC}/doc/man && ${CP} -f man4/mwmrc.4 man5/mwmrc.5 @${FIND} ${WRKSRC}/doc/man/man5 -name '*.5' -maxdepth 1 | \ ${XARGS} ${REINPLACE_CMD} -e 's|special file|5| ; \ s|file formats|5|' @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|' ${WRKSRC}/configure.ac post-install: @${MKDIR} ${STAGEDIR}${DOCSDIR} .for i in BUGREPORT README RELNOTES ${INSTALL_DATA} ${WRKSRC}/${i} ${STAGEDIR}${DOCSDIR} .endfor .include diff --git a/x11-toolkits/open-motif/files/patch-lib_Xm_EditresCom.c b/x11-toolkits/open-motif/files/patch-lib_Xm_EditresCom.c new file mode 100644 index 000000000000..6eff286772da --- /dev/null +++ b/x11-toolkits/open-motif/files/patch-lib_Xm_EditresCom.c @@ -0,0 +1,127 @@ +--- lib/Xm/EditresCom.c.orig 2023-02-15 16:42:34.000000000 -0800 ++++ lib/Xm/EditresCom.c 2023-10-16 20:14:52.602297000 -0700 +@@ -183,6 +183,39 @@ + } + #endif + ++#define HAVE_XMU_GET_WIDGET_INFO_RESOLVE 1 ++#ifdef HAVE_XMU_GET_WIDGET_INFO_RESOLVE ++static Boolean GetWidgetInfo(ProtocolStream *stream, WidgetInfo *info) { ++ return _XEditResGetWidgetInfoResolve(stream, info); ++} ++#else ++static Boolean GetWidgetInfo(ProtocolStream *stream, WidgetInfo *info) { ++ return _XEditResGetWidgetInfo(stream, info); ++} ++#endif ++ ++#define HAVE_XMU_PUT_WIDGET_INFO_UNRESOLVE 1 ++#ifdef HAVE_XMU_PUT_WIDGET_INFO_UNRESOLVE ++static void PutWidgetInfo(ProtocolStream *stream, WidgetInfo *info) { ++ _XEditResPutWidgetInfoUnresolve(stream, info); ++} ++#else ++static Boolean PutWidgetInfo(ProtocolStream *stream, WidgetInfo *info) { ++ _XEditResPutWidgetInfo(stream, info); ++} ++#endif ++ ++#define HAVE_XMU_PUT_WIDGET_UNRESOLVE 1 ++#ifdef HAVE_XMU_PUT_WIDGET_UNRESOLVE ++static void PutWidget(ProtocolStream *stream, Widget widget) { ++ _XEditResPutWidgetUnresolve(stream, widget); ++} ++#else ++static void PutWidget(ProtocolStream *stream, Widget widget) { ++ _XEditResPut32(stream, widget); ++} ++#endif ++ + /************************************************************ + * + * Resource Editor Communication Code +@@ -352,7 +385,7 @@ + XtCalloc(sizeof(WidgetInfo), sv_event->num_entries); + + for (i = 0; i < sv_event->num_entries; i++) { +- if (!_XEditResGetWidgetInfo(stream, sv_event->widgets + i)) ++ if (!GetWidgetInfo(stream, sv_event->widgets + i)) + goto done; + } + } +@@ -364,7 +397,7 @@ + find_event->widgets = (WidgetInfo *) + XtCalloc(sizeof(WidgetInfo), 1); + +- if (!(_XEditResGetWidgetInfo(stream, find_event->widgets) && ++ if (!(GetWidgetInfo(stream, find_event->widgets) && + _XEditResGetSigned16(stream, &(find_event->x)) && + _XEditResGetSigned16(stream, &(find_event->y)))) + { +@@ -384,7 +417,7 @@ + get_event->widgets = (WidgetInfo *) + XtCalloc(sizeof(WidgetInfo), get_event->num_entries); + for (i = 0; i < get_event->num_entries; i++) { +- if (!_XEditResGetWidgetInfo(stream, get_event->widgets + i)) ++ if (!GetWidgetInfo(stream, get_event->widgets + i)) + goto done; + } + } +@@ -397,7 +430,7 @@ + _XEditResGet16(stream, &(gv_event->num_entries)); + gv_event->widgets = (WidgetInfo *) + XtCalloc(sizeof(WidgetInfo), gv_event->num_entries); +- _XEditResGetWidgetInfo(stream, gv_event->widgets); ++ GetWidgetInfo(stream, gv_event->widgets); + } + break; + +@@ -846,7 +879,7 @@ + + for (i = 0 ; i < sv_event->num_entries; i++) { + if ((str = VerifyWidget(w, &(sv_event->widgets[i]))) != NULL) { +- _XEditResPutWidgetInfo(stream, &(sv_event->widgets[i])); ++ PutWidgetInfo(stream, &(sv_event->widgets[i])); + _XEditResPutString8(stream, str); + XtFree(str); + count++; +@@ -973,7 +1006,7 @@ + */ + + (*(info->count))++; +- _XEditResPutWidgetInfo(info->stream, info->entry); ++ PutWidgetInfo(info->stream, info->entry); + _XEditResPutString8(info->stream, pbuf); + if (pbuf != buf) + XtFree(pbuf); +@@ -1174,7 +1207,7 @@ + * Send out the widget id. + */ + +- _XEditResPutWidgetInfo(stream, &(geom_event->widgets[i])); ++ PutWidgetInfo(stream, &(geom_event->widgets[i])); + if ((str = VerifyWidget(w, &(geom_event->widgets[i]))) != NULL) { + _XEditResPutBool(stream, True); /* an error occured. */ + _XEditResPutString8(stream, str); /* set message. */ +@@ -1420,7 +1453,7 @@ + /* + * Send out the widget id. + */ +- _XEditResPutWidgetInfo(stream, &(res_event->widgets[i])); ++ PutWidgetInfo(stream, &(res_event->widgets[i])); + if ((str = VerifyWidget(w, &(res_event->widgets[i]))) != NULL) { + _XEditResPutBool(stream, True); /* an error occured. */ + _XEditResPutString8(stream, str); /* set message. */ +@@ -1766,10 +1799,11 @@ + + _XEditResPut16(stream, num_widgets); /* insert number of widgets. */ + for (i = 0; i < num_widgets; i++) /* insert Widgets themselves. */ +- _XEditResPut32(stream, widget_list[i]); ++ PutWidget(stream, (Widget)widget_list[i]); + + XtFree((char *)widget_list); + } ++ + + #if 0 + /************************************************************