diff --git a/x11/cde/Makefile b/x11/cde/Makefile index a87ec364b298..564a5e54c419 100644 --- a/x11/cde/Makefile +++ b/x11/cde/Makefile @@ -1,119 +1,125 @@ PORTNAME= cde DISTVERSION= 2.4.0 CATEGORIES= x11 MASTER_SITES= SF/cdesktopenv/src/ MAINTAINER= cy@FreeBSD.org COMMENT= Common Desktop Environment LICENSE= LGPL21 BROKEN_mips64= fails to build: ./config/imake/imake: No such file or directory BROKEN_powerpc64= fails to build: ./config/imake/imake: No such file or directory BROKEN_i386= cannot bind to a temporary of type va_list BUILD_DEPENDS= ksh93:shells/ksh93 \ bdftopcf:x11-fonts/bdftopcf \ mkfontscale>=0:x11-fonts/mkfontscale \ biconv:converters/iconv \ ${LOCALBASE}/libdata/pkgconfig/fontconfig.pc:x11-fonts/fontconfig \ ${LOCALBASE}/libdata/pkgconfig/freetype2.pc:print/freetype2 RUN_DEPENDS= ksh93:shells/ksh93 \ ${LOCALBASE}/bin/fc-cache:x11-fonts/fontconfig \ ${LOCALBASE}/libdata/pkgconfig/freetype2.pc:print/freetype2 \ xrdb:x11/xrdb \ xset:x11/xset USES= iconv:wchar_t jpeg motif perl5 shebangfix tcl:86 xorg SHEBANG_LANG= pl SHEBANG_FILES= programs/dtinfo/tools/bin/ccdate \ programs/dtdocbook/doc2sdl/docbook.tcl \ programs/dtdocbook/doc2sdl/dtdocbook USE_LDCONFIG= ${PREFIX}/dt/lib USE_RC_SUBR= dtcms dtlogin USE_XORG= ice sm x11 xau xdmcp xext xinerama xmu xscrnsaver xt WRKSRC= ${WRKDIR}/${PORTNAME}-${DISTVERSION} ALL_TARGET= World MAKE_ARGS+= PERL=${PERL} "LOCAL_LDFLAGS=${LDFLAGS}" MAKE_JOBS_UNSAFE=yes SUB_FILES= pkg-message LDFLAGS+= -z muldefs #--allow-multiple-definition +.include + +.if ${ARCH} == powerpc64le +CPPFLAGS+= -DPOWERPC64LE +.endif + post-patch: @if [ -f /usr/include/iconv.h ]; then \ ${REINPLACE_CMD} -e 's!^[[:space:]]*const char .ip = (const char .) .bp!char *ip = *bp!' \ ${WRKSRC}/programs/dtmail/libDtMail/Common/Session.C \ ${WRKSRC}/programs/dtmail/libDtMail/RFC/RFCBodyPart.C; \ fi # From shells/ksh93 @${REINPLACE_CMD} -e 's|SF_FLAGS|SFIO_FLAGS|g' \ ${WRKSRC}/programs/dtksh/ksh93/src/lib/libast/include/sfio*.h \ ${WRKSRC}/programs/dtksh/ksh93/src/lib/libast/sfio/*.c \ ${WRKSRC}/programs/dtksh/ksh93/src/lib/libast/sfio/*.h # Speed up poudriere + qemu + native-xtools @${REINPLACE_CMD} \ -e 's|CcCmd cc|CcCmd ${CC}|g' \ -e 's|CplusplusCmd c++|CplusplusCmd ${CXX}|g' \ -e 's|CppCmd /usr/bin/cpp|CppCmd ${CPP}|g' \ ${WRKSRC}/config/cf/FreeBSD.cf # Needed for armv6 @${REINPLACE_CMD} -e 's|__va_copy|va_copy|g' \ ${WRKSRC}/programs/dtksh/ksh93/src/lib/libast/hash/*.c \ ${WRKSRC}/programs/dtksh/ksh93/src/lib/libast/sfio/*.c \ ${WRKSRC}/programs/dtksh/ksh93/src/lib/libast/string/*.c # Fix all hardcoded path @${REINPLACE_CMD} -e 's|/usr/bin/perl|${LOCALBASE}/bin/perl|g' \ ${WRKSRC}/config/cf/Imake.tmpl \ ${WRKSRC}/programs/dtinfo/tools/bin/ccdate @${REINPLACE_CMD} -e 's|/bin/ksh|${LOCALBASE}/bin/ksh93|g' \ ${WRKSRC}/programs/dtopen/dtopen.src @${FIND} ${WRKSRC} -type f | ${XARGS} ${REINPLACE_CMD} -e \ 's|/usr/dt|${LOCALBASE}/dt|g ; \ s|/etc/dt|${LOCALBASE}/etc/dt|g' @${REINPLACE_CMD} -e 's|STAGEDIR|${STAGEDIR}|g' -e \ 's|LOCALBASE|${LOCALBASE}|g' \ ${WRKSRC}/admin/IntegTools/dbTools/installCDE.src \ ${WRKSRC}/admin/IntegTools/post_install/freebsd/configRun.src \ ${WRKSRC}/admin/IntegTools/post_install/freebsd/configShlibs.src \ ${WRKSRC}/admin/IntegTools/post_install/freebsd/configMin.src # we need to remove a few LOCALBASE @${REINPLACE_CMD} -e 's|${LOCALBASE}/etc/dtinfogen|/etc/dtinfogen|g' \ ${WRKSRC}/databases/CDE-RUN.src \ ${WRKSRC}/config/cf/cde.tmpl @${REINPLACE_CMD} -e 's|${LOCALBASE}/etc/dtsr|/etc/dtsr|g' -e \ 's|${LOCALBASE}/etc/dtinfo_start|/etc/dtinfo_start|g' \ ${WRKSRC}/databases/CDE-RUN.src \ ${WRKSRC}/programs/tttypes/dtinfo_start.ptype \ ${WRKSRC}/programs/tttypes/dtinfo.ptype @${REINPLACE_CMD} -e 's|${LOCALBASE}||g' \ ${WRKSRC}/programs/dtinfo/dtinfogen/infolib/etc/dtinfogen_worker.c # why redefine exit?? @${REINPLACE_CMD} -e '/void exit/d' \ ${WRKSRC}/lib/tt/bin/tt_type_comp/frozen.mp_types_lex.C # (time_t*) NULL is apparently too C-ish @${REINPLACE_CMD} -e 's,(time_t) *NULL,nullptr,' \ ${WRKSRC}/programs/dtmail/libDtMail/Common/FileShare.C \ ${WRKSRC}/programs/dtmail/libDtMail/RFC/RFCMailBox.C do-install: cd ${WRKSRC}/admin/IntegTools/dbTools && \ ./installCDE -s ${WRKSRC} -destdir ${STAGEDIR} (cd ${STAGEDIR}${PREFIX}/dt/share/man && \ for m in 1 1m 3 4 5 6; do \ ${GZIP_CMD} man$$m/*.$$m; \ done) ${INSTALL_DATA} ${WRKSRC}/lib/pam/libpam/pam.conf \ ${STAGEDIR}${PREFIX}/etc/pam.d/cde.conf post-install: ${FIND} ${STAGEDIR}/${PREFIX}/dt -type f -exec ${SH} -c '${STRIP_CMD} {} > /dev/null 2>&1' \; -.include +.include diff --git a/x11/cde/files/patch-programs_dtksh_ksh93_src_lib_libast_hash_hashalloc.c b/x11/cde/files/patch-programs_dtksh_ksh93_src_lib_libast_hash_hashalloc.c index f050420f5e21..004f6a5212b9 100644 --- a/x11/cde/files/patch-programs_dtksh_ksh93_src_lib_libast_hash_hashalloc.c +++ b/x11/cde/files/patch-programs_dtksh_ksh93_src_lib_libast_hash_hashalloc.c @@ -1,20 +1,25 @@ ---- programs/dtksh/ksh93/src/lib/libast/hash/hashalloc.c.orig 2021-12-13 19:03:46 UTC -+++ programs/dtksh/ksh93/src/lib/libast/hash/hashalloc.c -@@ -49,6 +49,7 @@ hashalloc(Hash_table_t* ref, ...) +--- programs/dtksh/ksh93/src/lib/libast/hash/hashalloc.c.orig 2022-01-20 12:56:31.275926000 -0800 ++++ programs/dtksh/ksh93/src/lib/libast/hash/hashalloc.c 2022-01-20 12:59:47.461533000 -0800 +@@ -49,6 +49,9 @@ va_list* vp = va; Hash_region_f region = 0; void* handle; ++#ifdef POWERPC64LE + va_listarg tmpval; ++#endif va_start(ap, ref); -@@ -151,7 +152,8 @@ hashalloc(Hash_table_t* ref, ...) +@@ -151,7 +154,12 @@ va_copy(*vp, ap); vp++; } -- va_copy(ap, va_listval(va_arg(ap, va_listarg))); ++#ifdef POWERPC64LE + tmpval = va_listval(va_arg(ap, va_listarg)); + va_copy(ap, tmpval); ++#else + va_copy(ap, va_listval(va_arg(ap, va_listarg))); ++#endif break; case 0: if (vp > va) diff --git a/x11/cde/files/patch-programs_dtksh_ksh93_src_lib_libast_string_tokscan.c b/x11/cde/files/patch-programs_dtksh_ksh93_src_lib_libast_string_tokscan.c index 5dcf7b11dafe..ae486604c41e 100644 --- a/x11/cde/files/patch-programs_dtksh_ksh93_src_lib_libast_string_tokscan.c +++ b/x11/cde/files/patch-programs_dtksh_ksh93_src_lib_libast_string_tokscan.c @@ -1,20 +1,25 @@ ---- programs/dtksh/ksh93/src/lib/libast/string/tokscan.c.orig 2021-12-13 22:46:02 UTC -+++ programs/dtksh/ksh93/src/lib/libast/string/tokscan.c -@@ -188,6 +188,7 @@ tokscan(register char* s, char** nxt, const char* fmt, +--- programs/dtksh/ksh93/src/lib/libast/string/tokscan.c.orig 2022-01-20 12:56:38.679529000 -0800 ++++ programs/dtksh/ksh93/src/lib/libast/string/tokscan.c 2022-01-20 13:02:26.179022000 -0800 +@@ -188,6 +188,9 @@ char** p_string; char* prv_f = 0; va_list prv_ap; ++#ifdef POWERPC64LE + va_listarg tmpval; ++#endif va_start(ap, fmt); if (!*s || *s == '\n') -@@ -233,7 +234,8 @@ tokscan(register char* s, char** nxt, const char* fmt, +@@ -233,7 +236,12 @@ prv_f = f; f = va_arg(ap, char*); va_copy(prv_ap, ap); -- va_copy(ap, va_listval(va_arg(ap, va_listarg))); ++#ifdef POWERPC64LE + tmpval = va_listval(va_arg(ap, va_listarg)); + va_copy(ap, tmpval); ++#else + va_copy(ap, va_listval(va_arg(ap, va_listarg))); ++#endif continue; case 'c': p_char = va_arg(ap, char*);