Date: Mon, 21 Apr 2014 13:10:00 GMT From: dfilter@FreeBSD.ORG (dfilter service) To: freebsd-ports-bugs@FreeBSD.org Subject: Re: ports/176172: commit references a PR Message-ID: <201404211310.s3LDA0SU026901@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR ports/176172; it has been noted by GNATS. From: dfilter@FreeBSD.ORG (dfilter service) To: bug-followup@FreeBSD.org Cc: Subject: Re: ports/176172: commit references a PR Date: Mon, 21 Apr 2014 13:08:57 +0000 (UTC) Author: marino Date: Mon Apr 21 13:08:53 2014 New Revision: 351680 URL: http://svnweb.freebsd.org/changeset/ports/351680 QAT: https://qat.redports.org/buildarchive/r351680/ Log: graphics/povray37: Fix build on clang, support stage The main problem with building this port with clang was the use of shared_ptr without the boost namespace which clashes with libc++. This occurs in numerous places but luckly sed can fix most of them save for a few files that inconsistently used boost names. It was also missing an explicit link to libboost_system [1] PR: ports/176172 Submitted by: Oliver Hartmann Approved by: Maintainer timeout Stage support: blanket approval MFH: 2014Q2 Added: head/graphics/povray37/files/patch-vfe_vfe.cpp (contents, props changed) head/graphics/povray37/files/patch-vfe_vfe.h (contents, props changed) head/graphics/povray37/files/patch-vfe_vfesession.cpp (contents, props changed) head/graphics/povray37/files/patch-vfe_vfesession.h (contents, props changed) Modified: head/graphics/povray37/Makefile head/graphics/povray37/pkg-plist Modified: head/graphics/povray37/Makefile ============================================================================== --- head/graphics/povray37/Makefile Mon Apr 21 13:05:13 2014 (r351679) +++ head/graphics/povray37/Makefile Mon Apr 21 13:08:53 2014 (r351680) @@ -14,12 +14,13 @@ COMMENT= Persistence of Vision Ray Trace LIB_DEPENDS= libboost_thread.so:${PORTSDIR}/devel/boost-libs OPTIONS_DEFINE= X11 PNG JPEG TIFF OPENEXR STATIC IO EXAMPLES DOCS -OPTIONS_DEFAULT= PNG JPEG EXAMPLES DOCS +OPTIONS_DEFAULT=PNG JPEG EXAMPLES DOCS +OPTIONS_SUB= yes IO_DESC= Without I/O restrictions (security risk) EXAMPLES_DESC= Install example scenes DOCS_DESC= Install HTML documentation -USE_GMAKE= yes +USES= gmake GNU_CONFIGURE= yes VERSION_BASE= ${PORTVERSION:C/([0-9]+\.[0-9]+).*/\1/} @@ -30,22 +31,20 @@ DATADIR= ${PREFIX}/share/${PORTNAME}-${V ETCDIR= ${PREFIX}/etc/${PORTNAME}/${VERSION_BASE} INCLUDES= -I${LOCALBASE}/include +LDFLAGS+= -L${LOCALBASE}/lib -lboost_system CONFIGURE_ARGS= COMPILED_BY=${MAINTAINER} --prefix=${PREFIX} \ --program-transform-name='s/${PORTNAME}/${PORTNAME}${PKGNAMESUFFIX}/' \ --disable-optimiz -NO_STAGE= yes .include <bsd.port.options.mk> .if ${PORT_OPTIONS:MX11} USE_XORG= xpm sm ice x11 USE_SDL= sdl CONFIGURE_ARGS+= --x-include=${LOCALBASE}/include --x-libraries=${LOCALBASE}/libs -PLIST_SUB+= X11="" .else CONFIGURE_ARGS+= --without-x -PLIST_SUB+= X11="@comment " .endif .if ${PORT_OPTIONS:MSTATIC} @@ -118,12 +117,16 @@ PORTDOCS= * PORTEXAMPLES= * post-patch: -# Fix with boost 1.52 +# Fix with boost 1.52 and now boost 1.55 @${REINPLACE_CMD} -e 's/TIME_UTC/TIME_UTC_/g' ${WRKSRC}/source/backend/scene/view.cpp \ ${WRKSRC}/source/base/timer.cpp \ ${WRKSRC}/vfe/vfepovms.cpp \ ${WRKSRC}/vfe/unix/platformbase.cpp \ ${WRKSRC}/vfe/vfesession.cpp + ${FIND} ${WRKSRC}/source/*end \( -name \*.h -o -name \*.cpp \) | \ + ${XARGS} ${GREP} -l shared_ptr | ${SED} '/shellout/d' | \ + ${XARGS} ${REINPLACE_CMD} -e 's|shared_ptr|boost::shared_ptr|g' + pre-build: .if ${PORT_OPTIONS:MSTATIC} && ${PORT_OPTIONS:MTIFF} # graphics/tiff adds dependencies on libjpeg and libjbig @@ -131,27 +134,27 @@ pre-build: .endif do-install: - @${INSTALL_PROGRAM} ${WRKSRC}/unix/${PORTNAME} ${PREFIX}/bin/${PORTNAME}${PKGNAMESUFFIX} - @${INSTALL_MAN} ${WRKSRC}/${PORTNAME}.1 ${MAN1PREFIX}/man/man1/${MAN1} - @${MKDIR} ${ETCDIR} - @${INSTALL_DATA} ${WRKSRC}/${PORTNAME}.conf ${ETCDIR} - @${INSTALL_DATA} ${WRKSRC}/${PORTNAME}.ini ${ETCDIR} + @${INSTALL_PROGRAM} ${WRKSRC}/unix/${PORTNAME} ${STAGEDIR}${PREFIX}/bin/${PORTNAME}${PKGNAMESUFFIX} + @${INSTALL_MAN} ${WRKSRC}/${PORTNAME}.1 ${STAGEDIR}${MAN1PREFIX}/man/man1/${MAN1} + @${MKDIR} ${STAGEDIR}${ETCDIR} + @${INSTALL_DATA} ${WRKSRC}/${PORTNAME}.conf ${STAGEDIR}${ETCDIR} + @${INSTALL_DATA} ${WRKSRC}/${PORTNAME}.ini ${STAGEDIR}${ETCDIR} .for i in include ini scripts - ${MKDIR} ${DATADIR}/$i - cd ${WRKSRC}/$i && ${COPYTREE_SHARE} . ${DATADIR}/$i + ${MKDIR} ${STAGEDIR}${DATADIR}/$i + cd ${WRKSRC}/$i && ${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR}/$i .endfor .if ${PORT_OPTIONS:MX11} - @${MKDIR} ${DATADIR}/icons - cd ${WRKSRC}/icons && ${COPYTREE_SHARE} . ${DATADIR}/icons + @${MKDIR} ${STAGEDIR}${DATADIR}/icons + cd ${WRKSRC}/icons && ${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR}/icons .endif .if ${PORT_OPTIONS:MEXAMPLES} - @${MKDIR} ${EXAMPLESDIR} - cd ${WRKSRC}/scenes && ${COPYTREE_SHARE} . ${EXAMPLESDIR} + @${MKDIR} ${STAGEDIR}${EXAMPLESDIR} + cd ${WRKSRC}/scenes && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR} .endif .if ${PORT_OPTIONS:MDOCS} - @${MKDIR} ${DOCSDIR} - cd ${WRKSRC} && ${INSTALL_DATA} ${DOC_FILES} ${DOCSDIR} - cd ${WRKSRC}/doc && ${COPYTREE_SHARE} . ${DOCSDIR} + @${MKDIR} ${STAGEDIR}${DOCSDIR} + cd ${WRKSRC} && ${INSTALL_DATA} ${DOC_FILES} ${STAGEDIR}${DOCSDIR} + cd ${WRKSRC}/doc && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR} .endif .include <bsd.port.mk> Added: head/graphics/povray37/files/patch-vfe_vfe.cpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/graphics/povray37/files/patch-vfe_vfe.cpp Mon Apr 21 13:08:53 2014 (r351680) @@ -0,0 +1,40 @@ +--- vfe/vfe.cpp.orig 2012-06-19 11:29:39.000000000 -0500 ++++ vfe/vfe.cpp +@@ -640,7 +640,7 @@ void vfeProcessRenderOptions::WriteError + // + //////////////////////////////////////////////////////////////////////////////////////// + +-VirtualFrontEnd::VirtualFrontEnd(vfeSession& session, POVMSContext ctx, POVMSAddress addr, POVMS_Object& msg, POVMS_Object *result, shared_ptr<Console>& console) : ++VirtualFrontEnd::VirtualFrontEnd(vfeSession& session, POVMSContext ctx, POVMSAddress addr, POVMS_Object& msg, POVMS_Object *result, boost::shared_ptr<Console>& console) : + m_Session(&session), m_PlatformBase(session), renderFrontend (ctx) + { + backendAddress = addr ; +@@ -747,7 +747,7 @@ bool VirtualFrontEnd::Start(POVMS_Object + + if (m_Session->OutputToFileSet()) + { +- imageProcessing = shared_ptr<ImageProcessing> (new ImageProcessing (opts)); ++ imageProcessing = boost::shared_ptr<ImageProcessing> (new ImageProcessing (opts)); + UCS2String filename = imageProcessing->GetOutputFilename (opts, 0, 0); + options.SetUCS2String (kPOVAttrib_OutputFile, filename.c_str()); + +@@ -774,8 +774,8 @@ bool VirtualFrontEnd::Start(POVMS_Object + opts.Set(kPOVAttrib_Declare, declares); + imageProcessing.reset(); + if (m_Session->OutputToFileSet()) +- imageProcessing = shared_ptr<ImageProcessing> (new ImageProcessing (opts)) ; +- animationProcessing = shared_ptr<AnimationProcessing> (new AnimationProcessing (opts)) ; ++ imageProcessing = boost::shared_ptr<ImageProcessing> (new ImageProcessing (opts)) ; ++ animationProcessing = boost::shared_ptr<AnimationProcessing> (new AnimationProcessing (opts)) ; + options = animationProcessing->GetFrameRenderOptions () ; + } + +@@ -1151,7 +1151,7 @@ State VirtualFrontEnd::Process() + } + + // now we display the render window, if enabled +- shared_ptr<Display> display(GetDisplay()); ++ boost::shared_ptr<Display> display(GetDisplay()); + if (display != NULL) + { + vfeDisplay *disp = dynamic_cast<vfeDisplay *>(display.get()); Added: head/graphics/povray37/files/patch-vfe_vfe.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/graphics/povray37/files/patch-vfe_vfe.h Mon Apr 21 13:08:53 2014 (r351680) @@ -0,0 +1,24 @@ +--- vfe/vfe.h.orig 2012-06-19 11:29:39.000000000 -0500 ++++ vfe/vfe.h +@@ -267,7 +267,7 @@ namespace vfe + class VirtualFrontEnd + { + public: +- VirtualFrontEnd(vfeSession& session, POVMSContext ctx, POVMSAddress addr, POVMS_Object& msg, POVMS_Object *result, shared_ptr<Console>& console) ; ++ VirtualFrontEnd(vfeSession& session, POVMSContext ctx, POVMSAddress addr, POVMS_Object& msg, POVMS_Object *result, boost::shared_ptr<Console>& console) ; + virtual ~VirtualFrontEnd() ; + + virtual bool Start(POVMS_Object& opts) ; +@@ -298,9 +298,9 @@ namespace vfe + POVMS_Object options; + RenderFrontendBase::SceneId sceneId; + RenderFrontendBase::ViewId viewId; +- shared_ptr<AnimationProcessing> animationProcessing ; +- shared_ptr<ImageProcessing> imageProcessing ; +- shared_ptr<ShelloutProcessing> shelloutProcessing; ++ boost::shared_ptr<AnimationProcessing> animationProcessing ; ++ boost::shared_ptr<ImageProcessing> imageProcessing ; ++ boost::shared_ptr<ShelloutProcessing> shelloutProcessing; + Console **consoleResult; + Display **displayResult; + vfeSession* m_Session; Added: head/graphics/povray37/files/patch-vfe_vfesession.cpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/graphics/povray37/files/patch-vfe_vfesession.cpp Mon Apr 21 13:08:53 2014 (r351680) @@ -0,0 +1,20 @@ +--- vfe/vfesession.cpp.orig 2014-04-21 07:36:50.000000000 -0500 ++++ vfe/vfesession.cpp +@@ -602,7 +602,7 @@ const char *vfeSession::GetBackendStateN + boost::shared_ptr<Display> vfeSession::GetDisplay() const + { + if (m_Frontend == NULL) +- return (shared_ptr<Display>()); ++ return (boost::shared_ptr<Display>()); + return m_Frontend->GetDisplay(); + } + +@@ -640,7 +640,7 @@ void vfeSession::WorkerThread() + m_BackendThread = povray_init (boost::bind(&vfeSession::BackendThreadNotify, this), const_cast<void **>(&pov::RenderThreadAddr)) ; + POVMS_Output_Context = pov::POVMS_GUI_Context ; + +- m_Console = shared_ptr<vfeConsole> (new vfeConsole(this, m_ConsoleWidth)) ; ++ m_Console = boost::shared_ptr<vfeConsole> (new vfeConsole(this, m_ConsoleWidth)) ; + + POVMS_Object obj ; + m_Frontend = new VirtualFrontEnd (*this, POVMS_Output_Context, (POVMSAddress) pov::RenderThreadAddr, obj, NULL, m_Console) ; Added: head/graphics/povray37/files/patch-vfe_vfesession.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/graphics/povray37/files/patch-vfe_vfesession.h Mon Apr 21 13:08:53 2014 (r351680) @@ -0,0 +1,11 @@ +--- vfe/vfesession.h.orig 2012-06-19 11:29:40.000000000 -0500 ++++ vfe/vfesession.h +@@ -1294,7 +1294,7 @@ namespace vfe + + static bool m_Initialized; + static vfeSession *m_CurrentSessionTemporaryHack; +- shared_ptr<Console> m_Console; ++ boost::shared_ptr<Console> m_Console; + + virtual vfeDisplay *DefaultDisplayCreator (unsigned int width, unsigned int height, GammaCurvePtr gamma, vfeSession *session, bool visible); + DisplayCreator m_DisplayCreator; Modified: head/graphics/povray37/pkg-plist ============================================================================== --- head/graphics/povray37/pkg-plist Mon Apr 21 13:05:13 2014 (r351679) +++ head/graphics/povray37/pkg-plist Mon Apr 21 13:08:53 2014 (r351680) @@ -1,4 +1,5 @@ bin/povray37 +man/man1/povray37.1.gz %%ETCDIR%%/povray.conf %%ETCDIR%%/povray.ini %%X11%%%%DATADIR%%/icons/file_inc_classic_16.png _______________________________________________ svn-ports-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-ports-all To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201404211310.s3LDA0SU026901>