Bug 176172 - graphics/povray37: /usr/local/bin/ld: disp_sdl.o: undefined reference to symbol 'boost::system::system_category()'
Summary: graphics/povray37: /usr/local/bin/ld: disp_sdl.o: undefined reference to symb...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: freebsd-ports-bugs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-02-15 15:10 UTC by O. Hartmann
Modified: 2014-04-21 21:20 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description O. Hartmann 2013-02-15 15:10:00 UTC
Updating port graphics/povray37 fails with the following error:

gmake[2]: Entering directory `/usr/ports/graphics/povray37/work/povray-3.7.0.RC6/unix'
g++46 -DHAVE_CONFIG_H -I. -I..  -I.. -I../source -I../source -I../source/backend -I../source/base -I../source/frontend -I../vfe -I../vfe/unix -I/usr/local/include/SDL -I/usr/local/include -D_GNU_SOURCE=1 -D_REENTRANT  -pthread -I/usr/local/include  -I/usr/local/include  -pipe -Wno-multichar -Wno-write-strings -fno-enforce-eh-specs -s -O2 -pipe -march=native -Wl,-rpath=/usr/local/lib/gcc46 -fno-strict-aliasing -Wl,-rpath=/usr/local/lib/gcc46 -I/usr/local/include -D_THREAD_SAFE -pthread -MT disp_sdl.o -MD -MP -MF .deps/disp_sdl.Tpo -c -o disp_sdl.o disp_sdl.cpp
mv -f .deps/disp_sdl.Tpo .deps/disp_sdl.Po
g++46 -DHAVE_CONFIG_H -I. -I..  -I.. -I../source -I../source -I../source/backend -I../source/base -I../source/frontend -I../vfe -I../vfe/unix -I/usr/local/include/SDL -I/usr/local/include -D_GNU_SOURCE=1 -D_REENTRANT  -pthread -I/usr/local/include  -I/usr/local/include  -pipe -Wno-multichar -Wno-write-strings -fno-enforce-eh-specs -s -O2 -pipe -march=native -Wl,-rpath=/usr/local/lib/gcc46 -fno-strict-aliasing -Wl,-rpath=/usr/local/lib/gcc46 -I/usr/local/include -D_THREAD_SAFE -pthread -MT disp_text.o -MD -MP -MF .deps/disp_text.Tpo -c -o disp_text.o disp_text.cpp
mv -f .deps/disp_text.Tpo .deps/disp_text.Po
g++46  -pipe -Wno-multichar -Wno-write-strings -fno-enforce-eh-specs -s -O2 -pipe -march=native -Wl,-rpath=/usr/local/lib/gcc46 -fno-strict-aliasing -Wl,-rpath=/usr/local/lib/gcc46 -I/usr/local/include -D_THREAD_SAFE -pthread  -Wl,-rpath=/usr/local/lib/gcc46 -pthread -L/usr/local/lib  -L/usr/local/lib -R/usr/local/lib -o povray disp_sdl.o disp_text.o ../vfe/libvfe.a ../source/backend/libbackend.a ../source/frontend/libfrontend.a ../source/base/libbase.a ../source/libpovray.a -lSDL -L/usr/local/lib -Wl,-rpath,/usr/local/lib -lSDL -pthread -lXpm  -lSM -lICE -lX11  -ltiff -ljpeg -lpng -lz -lrt -lm -lboost_thread  -D_THREAD_SAFE -pthread 
/usr/local/bin/ld: disp_sdl.o: undefined reference to symbol 'boost::system::system_category()'
/usr/local/bin/ld: note: 'boost::system::system_category()' is defined in DSO /usr/local/lib/libboost_system.so.5 so try adding it to the linker command line
/usr/local/lib/libboost_system.so.5: could not read symbols: Invalid operation
collect2: ld returned 1 exit status
gmake[2]: *** [povray] Error 1
gmake[2]: Leaving directory `/usr/ports/graphics/povray37/work/povray-3.7.0.RC6/unix'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/usr/ports/graphics/povray37/work/povray-3.7.0.RC6'
gmake: *** [all] Error 2
*** [do-build] Error code 1

Stop in /usr/ports/graphics/povray37.
*** [build] Error code 1

Stop in /usr/ports/graphics/povray37.

===>>> make failed for graphics/povray37
===>>> Aborting update

Terminated

===>>> You can restart from the point of failure with this command line:
       portmaster <flags> graphics/povray37

How-To-Repeat: Install or update port graphics/povray37 compiling with CLANG 3.2
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2013-02-15 15:10:08 UTC
Maintainer of graphics/povray37,

Please note that PR ports/176172 has just been submitted.

If it contains a patch for an upgrade, an enhancement or a bug fix
you agree on, reply to this email stating that you approve the patch
and a committer will take care of it.

The full text of the PR can be found at:
    http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/176172

-- 
Edwin Groothuis via the GNATS Auto Assign Tool
edwin@FreeBSD.org
Comment 2 Edwin Groothuis freebsd_committer freebsd_triage 2013-02-15 15:10:09 UTC
State Changed
From-To: open->feedback

Awaiting maintainers feedback (via the GNATS Auto Assign Tool)
Comment 3 dfilter service freebsd_committer freebsd_triage 2014-04-21 14:08:57 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"
Comment 4 John Marino freebsd_committer freebsd_triage 2014-04-21 14:15:44 UTC
State Changed
From-To: feedback->closed

Should be fixed now everywhere
Comment 5 dfilter service freebsd_committer freebsd_triage 2014-04-21 21:13:55 UTC
Author: marino
Date: Mon Apr 21 20:13:49 2014
New Revision: 351705
URL: http://svnweb.freebsd.org/changeset/ports/351705
QAT: https://qat.redports.org/buildarchive/r351705/

Log:
  MFH: r351680
  
  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
  Approved by:	portmgr

Added:
  branches/2014Q2/graphics/povray37/files/patch-vfe_vfe.cpp
     - copied unchanged from r351680, head/graphics/povray37/files/patch-vfe_vfe.cpp
  branches/2014Q2/graphics/povray37/files/patch-vfe_vfe.h
     - copied unchanged from r351680, head/graphics/povray37/files/patch-vfe_vfe.h
  branches/2014Q2/graphics/povray37/files/patch-vfe_vfesession.cpp
     - copied unchanged from r351680, head/graphics/povray37/files/patch-vfe_vfesession.cpp
  branches/2014Q2/graphics/povray37/files/patch-vfe_vfesession.h
     - copied unchanged from r351680, head/graphics/povray37/files/patch-vfe_vfesession.h
Modified:
  branches/2014Q2/graphics/povray37/Makefile
  branches/2014Q2/graphics/povray37/pkg-plist
Directory Properties:
  branches/2014Q2/   (props changed)

Modified: branches/2014Q2/graphics/povray37/Makefile
==============================================================================
--- branches/2014Q2/graphics/povray37/Makefile	Mon Apr 21 19:35:01 2014	(r351704)
+++ branches/2014Q2/graphics/povray37/Makefile	Mon Apr 21 20:13:49 2014	(r351705)
@@ -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>

Copied: branches/2014Q2/graphics/povray37/files/patch-vfe_vfe.cpp (from r351680, head/graphics/povray37/files/patch-vfe_vfe.cpp)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/2014Q2/graphics/povray37/files/patch-vfe_vfe.cpp	Mon Apr 21 20:13:49 2014	(r351705, copy of r351680, head/graphics/povray37/files/patch-vfe_vfe.cpp)
@@ -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());

Copied: branches/2014Q2/graphics/povray37/files/patch-vfe_vfe.h (from r351680, head/graphics/povray37/files/patch-vfe_vfe.h)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/2014Q2/graphics/povray37/files/patch-vfe_vfe.h	Mon Apr 21 20:13:49 2014	(r351705, copy of r351680, head/graphics/povray37/files/patch-vfe_vfe.h)
@@ -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;

Copied: branches/2014Q2/graphics/povray37/files/patch-vfe_vfesession.cpp (from r351680, head/graphics/povray37/files/patch-vfe_vfesession.cpp)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/2014Q2/graphics/povray37/files/patch-vfe_vfesession.cpp	Mon Apr 21 20:13:49 2014	(r351705, copy of r351680, head/graphics/povray37/files/patch-vfe_vfesession.cpp)
@@ -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) ;

Copied: branches/2014Q2/graphics/povray37/files/patch-vfe_vfesession.h (from r351680, head/graphics/povray37/files/patch-vfe_vfesession.h)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/2014Q2/graphics/povray37/files/patch-vfe_vfesession.h	Mon Apr 21 20:13:49 2014	(r351705, copy of r351680, head/graphics/povray37/files/patch-vfe_vfesession.h)
@@ -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: branches/2014Q2/graphics/povray37/pkg-plist
==============================================================================
--- branches/2014Q2/graphics/povray37/pkg-plist	Mon Apr 21 19:35:01 2014	(r351704)
+++ branches/2014Q2/graphics/povray37/pkg-plist	Mon Apr 21 20:13:49 2014	(r351705)
@@ -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"