diff --git a/graphics/povray37/Makefile b/graphics/povray37/Makefile index b5d197ad53c0..5a41e5ca6c63 100644 --- a/graphics/povray37/Makefile +++ b/graphics/povray37/Makefile @@ -1,82 +1,85 @@ PORTNAME= povray DISTVERSIONPREFIX= v DISTVERSION= 3.7.0.10 PORTREVISION= 16 CATEGORIES= graphics PKGNAMESUFFIX= 37 MAINTAINER= bsd@philippost.de COMMENT= Persistence of Vision Ray Tracer WWW= https://www.povray.org/ LICENSE= AGPLv3+ LICENSE_FILE= ${WRKSRC}/LICENSE LIB_DEPENDS= libboost_thread.so:devel/boost-libs USES= autoreconf:build compiler:c11 gmake USE_CXXSTD= c++14 USE_GITHUB= yes GH_ACCOUNT= POV-Ray GNU_CONFIGURE= yes GNU_CONFIGURE_MANPREFIX=${PREFIX}/share CONFIGURE_ARGS= COMPILED_BY=${HOSTARCH}-portbld-${OPSYS:tl}-${OSREL:R} \ --program-transform-name='s/povray/${PKGBASE}/' \ --disable-optimiz +CPPFLAGS+= -D POVMSUCS2="char16_t" +CPPFLAGS+= -D UCS2="char16_t" +CPPFLAGS+= -D UCS4="char32_t" VERSION_BASE= ${PORTVERSION:C/([0-9]+\.[0-9]+).*/\1/} ETCDIR= ${PREFIX}/etc/${PORTNAME}/${VERSION_BASE} DATADIR= ${PREFIX}/share/${PORTNAME}-${VERSION_BASE} DOCSDIR= ${PREFIX}/share/doc/${PORTNAME}-${VERSION_BASE} EXAMPLESDIR= ${PREFIX}/share/examples/${PORTNAME}-${VERSION_BASE} OPTIONS_DEFINE= X11 PNG JPEG TIFF OPENEXR IO EXAMPLES DOCS OPTIONS_DEFAULT=PNG JPEG OPTIONS_SUB= yes IO_DESC= Without I/O restrictions (security risk) IO_CONFIGURE_ON= --disable-io-restrictions JPEG_USES= jpeg JPEG_CONFIGURE_OFF= --without-jpeg OPENEXR_LIB_DEPENDS= libImath.so:math/Imath \ libOpenEXR.so:graphics/openexr OPENEXR_CONFIGURE_WITH= openexr PNG_LIB_DEPENDS= libpng.so:graphics/png PNG_CONFIGURE_WITH= libpng TIFF_LIB_DEPENDS= libtiff.so:graphics/tiff TIFF_CONFIGURE_WITH= libtiff X11_USES= sdl xorg X11_USE= XORG=xpm,sm,ice,x11 SDL=sdl X11_CONFIGURE_OFF= --without-x .include .if !${PORT_OPTIONS:MPNG} || !${PORT_OPTIONS:MJPEG} || !${PORT_OPTIONS:MTIFF} CONFIGURE_ARGS+=NON_REDISTRIBUTABLE_BUILD=yes .endif PORTDOCS= * PORTEXAMPLES= * post-patch: ${REINPLACE_CMD} -e 's|@@EXAMPLESDIR@@|${EXAMPLESDIR}|' \ -e 's|@@ETCDIR@@|${ETCDIR}|' \ ${WRKSRC}/unix/povray.conf pre-configure: cd ${WRKSRC}/unix && ./prebuild.sh post-install: ${MV} ${STAGEDIR}${DATADIR}/scenes ${STAGEDIR}${EXAMPLESDIR} .for i in povray.conf povray.ini ${MV} ${STAGEDIR}${ETCDIR}/${i} ${STAGEDIR}${ETCDIR}/${i}.sample .endfor .include diff --git a/graphics/povray37/files/patch-vfe_vfe.cpp b/graphics/povray37/files/patch-vfe_vfe.cpp new file mode 100644 index 000000000000..f4c8e56714ef --- /dev/null +++ b/graphics/povray37/files/patch-vfe_vfe.cpp @@ -0,0 +1,26 @@ +--- vfe/vfe.cpp.orig 2021-07-08 09:56:01 UTC ++++ vfe/vfe.cpp +@@ -1372,7 +1372,7 @@ int Allow_File_Write (const char *Filename, const unsi + return (vfeSession::GetSessionFromThreadID()->TestAccessAllowed(Filename, true)); + } + +-int Allow_File_Write (const unsigned short *Filename, const unsigned int FileType) ++int Allow_File_Write (const char16_t *Filename, const unsigned int FileType) + { + if (strcmp(UCS2toASCIIString(Filename).c_str(), "stdout") == 0 || strcmp(UCS2toASCIIString(Filename).c_str(), "stderr") == 0) + return true; +@@ -1384,12 +1384,12 @@ int Allow_File_Read (const char *Filename, const unsig + return (vfeSession::GetSessionFromThreadID()->TestAccessAllowed(Filename, false)); + } + +-int Allow_File_Read (const unsigned short *Filename, const unsigned int FileType) ++int Allow_File_Read (const char16_t *Filename, const unsigned int FileType) + { + return (vfeSession::GetSessionFromThreadID()->TestAccessAllowed(Filename, false)); + } + +-FILE *vfeFOpen (const std::basic_string& name, const char *mode) ++FILE *vfeFOpen (const UCS2String& name, const char *mode) + { + return (fopen (UCS2toASCIIString (name).c_str(), mode)) ; + } diff --git a/graphics/povray37/files/patch-vfe_vfeconf.h b/graphics/povray37/files/patch-vfe_vfeconf.h new file mode 100644 index 000000000000..e0761680ed1f --- /dev/null +++ b/graphics/povray37/files/patch-vfe_vfeconf.h @@ -0,0 +1,19 @@ +--- vfe/vfeconf.h.orig 2021-07-08 09:56:01 UTC ++++ vfe/vfeconf.h +@@ -61,12 +61,12 @@ namespace vfe + int vfe_POVMS_Sys_QueueSend(POVMS_Sys_QueueNode *q, void *p, int l) ; + int Allow_File_Write (const char *Filename, const unsigned int FileType); + int Allow_File_Read (const char *Filename, const unsigned int FileType); +- int Allow_File_Read (const unsigned short *Filename, const unsigned int FileType); +- int Allow_File_Write (const unsigned short *Filename, const unsigned int FileType); ++ int Allow_File_Read (const char16_t *Filename, const unsigned int FileType); ++ int Allow_File_Write (const char16_t *Filename, const unsigned int FileType); + POVMS_Sys_Thread_Type POVMS_GetCurrentThread(); + void vfeAssert (const char *message, const char *filename, int line) ; +- FILE *vfeFOpen (const std::basic_string& name, const char *mode); +- bool vfeRemove (const std::basic_string& name); ++ FILE *vfeFOpen (const std::u16string& name, const char *mode); ++ bool vfeRemove (const std::u16string& name); + + #if defined _DEBUG + void *vfe_POVMS_Sys_Malloc(size_t size, const char *func, const char *file, int line) ;