Skip site navigation (1)Skip section navigation (2)
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>