Bug 182220 - [PATCH] graphics/opencolorio: Fix build on 10.0-ALPHA and pass poudriere testpor
Summary: [PATCH] graphics/opencolorio: Fix build on 10.0-ALPHA and pass poudriere testpor
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: Tijl Coosemans
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-09-19 05:00 UTC by Steve Wills
Modified: 2013-10-23 20:00 UTC (History)
1 user (show)

See Also:


Attachments
opencolorio-1.0.8.patch (1.75 KB, patch)
2013-09-19 05:00 UTC, Steve Wills
no flags Details | Diff
opencolorio.patch.txt (2.61 KB, text/plain; charset=UTF-8)
2013-09-21 10:33 UTC, Shane
no flags Details
opencolorio.patch.txt (2.32 KB, text/plain; charset=UTF-8)
2013-09-26 20:21 UTC, Shane
no flags Details
opencolorio.patch.txt (2.91 KB, text/plain; charset=UTF-8)
2013-10-19 17:01 UTC, Shane
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Steve Wills freebsd_committer freebsd_triage 2013-09-19 05:00:00 UTC
- Fix build on 10.0-ALPHA
- Passes poudriere testport

Port maintainer (FreeBSD@Shaneware.biz) is cc'd.

Generated with FreeBSD Port Tools 0.99_8 (mode: change, diff: SVN)
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2013-09-19 05:00:07 UTC
Maintainer of graphics/opencolorio,

Please note that PR ports/182220 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/182220

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

Awaiting maintainers feedback (via the GNATS Auto Assign Tool)
Comment 3 Shane 2013-09-21 10:33:51 UTC
I improved the test to be more specific and added -std=c++11 cxxflags
Also remove MAKE_JOBS_SAFE
Not certain that the pkg-plist changes are needed but do no harm.
Comment 4 Tijl Coosemans freebsd_committer freebsd_triage 2013-09-24 09:02:58 UTC
On Sat, 21 Sep 2013 09:40:01 GMT Shane Ambler wrote:
> I improved the test to be more specific and added -std=c++11 cxxflags
> Also remove MAKE_JOBS_SAFE
> Not certain that the pkg-plist changes are needed but do no harm.
>  
> diff -Nru opencolorio.orig/Makefile opencolorio/Makefile
> --- opencolorio.orig/Makefile	2013-09-21 18:54:01.756081148 +0930
> +++ opencolorio/Makefile	2013-09-21 18:52:12.111081631 +0930
> @@ -3,7 +3,7 @@
>  
>  PORTNAME?=	opencolorio
>  PORTVERSION=	1.0.8
> -PORTREVISION?=	0
> +PORTREVISION?=	1
>  CATEGORIES=	graphics multimedia
>  
>  MAINTAINER?=	FreeBSD@Shaneware.biz
> @@ -29,8 +29,6 @@
>  		-DOCIO_BUILD_STATIC:BOOL=OFF \
>  		-DOCIO_BUILD_PYGLUE:BOOL=ON
>  
> -MAKE_JOBS_SAFE?=	yes
> -
>  PLIST=		${PKGDIR}/pkg-plist${PKGNAMESUFFIX}
>  
> .if !defined(OCIO_TOOLS)
> @@ -61,6 +59,10 @@
>  CFLAGS+=	-march=pentium2
>  .endif
>  
> +.if (${CXX:T} == "clang++" && ${OSVERSION} > 902000) || ${OSVERSION} > 1000054
> +CXXFLAGS+= -stdlib=libc++ -std=c++11
> +.endif
> +


The problem with this is that now all C++ ports that link with this
library have to be build with libc++ too.  You can remove this entire
.if block if you adjust the patch below.

>  post-patch:
>  .if defined(OCIO_TOOLS)
>  	@${FIND} ${WRKSRC}/src/apps -name "main.cpp" -exec \
> diff -Nru opencolorio.orig/files/patch-export__OpenColorIO__OpenColorABI.h.in opencolorio/files/patch-export__OpenColorIO__OpenColorABI.h.in
> --- opencolorio.orig/files/patch-export__OpenColorIO__OpenColorABI.h.in	2013-09-21 18:54:01.743091115 +0930
> +++ opencolorio/files/patch-export__OpenColorIO__OpenColorABI.h.in	2013-09-21 18:52:12.111081631 +0930
> @@ -1,6 +1,17 @@
>  --- export/OpenColorIO/OpenColorABI.h.in.orig	2012-12-12 09:51:23.000000000 +1030
> -+++ export/OpenColorIO/OpenColorABI.h.in	2013-01-29 21:13:34.104857600 +1030
> -@@ -65,7 +65,7 @@
> ++++ export/OpenColorIO/OpenColorABI.h.in	2013-09-19 22:38:40.141969294 +0930
> +@@ -55,6 +55,10 @@
> + #include <boost/shared_ptr.hpp>
> + #define OCIO_SHARED_PTR boost::shared_ptr
> + #define OCIO_DYNAMIC_POINTER_CAST boost::dynamic_pointer_cast
> ++#elif __cplusplus >= 201103 && defined(_LIBCPP_VERSION)


Remove "__cplusplus >= 201103 &&" here.

> ++#include <memory>
> ++#define OCIO_SHARED_PTR std::shared_ptr
> ++#define OCIO_DYNAMIC_POINTER_CAST std::dynamic_pointer_cast
> + #elif __GNUC__ >= 4
> + #include <tr1/memory>
> + #define OCIO_SHARED_PTR std::tr1::shared_ptr
> +@@ -65,7 +69,7 @@
>   
>   // If supported, define OCIOEXPORT, OCIOHIDDEN
>   // (used to choose which symbols to export from OpenColorIO)
Comment 5 Shane 2013-09-26 20:21:02 UTC
>>
>> +.if (${CXX:T} == "clang++" && ${OSVERSION} > 902000) || ${OSVERSION} > 1000054
>> +CXXFLAGS+= -stdlib=libc++ -std=c++11
>> +.endif
>> +
>
> The problem with this is that now all C++ ports that link with this
> library have to be build with libc++ too. You can remove this entire
> .if block if you adjust the patch below.
>
>> + #include <boost/shared_ptr.hpp>
>> + #define OCIO_SHARED_PTR boost::shared_ptr
>> + #define OCIO_DYNAMIC_POINTER_CAST boost::dynamic_pointer_cast
>> ++#elif __cplusplus >= 201103 && defined(_LIBCPP_VERSION)
>
> Remove "__cplusplus >= 201103 &&" here.

This works so adjusting patch to suit.
Comment 6 Shane 2013-10-19 17:01:05 UTC
As this is still open, an updated patch to also include staging update
Comment 7 Tijl Coosemans freebsd_committer freebsd_triage 2013-10-20 11:27:50 UTC
Responsible Changed
From-To: freebsd-ports-bugs->tijl

Take.
Comment 8 dfilter service freebsd_committer freebsd_triage 2013-10-23 19:50:25 UTC
Author: tijl
Date: Wed Oct 23 18:50:17 2013
New Revision: 331405
URL: http://svnweb.freebsd.org/changeset/ports/331405

Log:
  - Fix build with libc++.
  - Support staging.
  - Rearrange bits between opencolorio and opencolorio-tools.
  
  PR:		ports/182220
  Approved by:	Shane Ambler <FreeBSD@ShaneWare.Biz> (maintainer)

Modified:
  head/graphics/opencolorio-tools/Makefile
  head/graphics/opencolorio/Makefile
  head/graphics/opencolorio/files/patch-export__OpenColorIO__OpenColorABI.h.in
  head/graphics/opencolorio/pkg-plist

Modified: head/graphics/opencolorio-tools/Makefile
==============================================================================
--- head/graphics/opencolorio-tools/Makefile	Wed Oct 23 18:39:25 2013	(r331404)
+++ head/graphics/opencolorio-tools/Makefile	Wed Oct 23 18:50:17 2013	(r331405)
@@ -1,33 +1,30 @@
 # Created by: Shane Ambler <FreeBSD@Shaneware.biz>
 # $FreeBSD$
 
-PORTNAME=	opencolorio
 PORTREVISION=	0
 PKGNAMESUFFIX=	-tools
 
 COMMENT=	Tools to work with OpenColorIO profiles
 
-LICENSE=	BSD
-
 LIB_DEPENDS=	OpenImageIO:${PORTSDIR}/graphics/openimageio \
 		OpenColorIO:${PORTSDIR}/graphics/opencolorio
 
 MASTERDIR=	${.CURDIR}/../opencolorio
+OPTIONS_EXCLUDE=DOCS
 
 CMAKE_ARGS=	-DOCIO_BUILD_APPS:BOOL=ON \
 		-DOCIO_BUILD_JNIGLUE:BOOL=OFF \
 		-DOCIO_BUILD_NUKE:BOOL=OFF \
 		-DOCIO_BUILD_PYGLUE:BOOL=OFF \
 		-DOCIO_BUILD_SHARED:BOOL=OFF \
-		-DOCIO_BUILD_STATIC:BOOL=OFF \
-		-DOCIO_BUILD_DOCS:BOOL=OFF
+		-DOCIO_BUILD_STATIC:BOOL=OFF
 
 USE_GL=		glew glut
-CFLAGS+=	-L${LOCALBASE}/lib
 
 EXTRA_PATCHES=	${FILESDIR}/extra-patch-CMakeLists.txt
 
-OCIO_TOOLS=	yes
+post-patch:
+	@${FIND} ${WRKSRC}/src/apps -name main.cpp | ${XARGS} \
+		${REINPLACE_CMD} '/namespace OIIO/d'
 
-NO_STAGE=	yes
 .include "${MASTERDIR}/Makefile"

Modified: head/graphics/opencolorio/Makefile
==============================================================================
--- head/graphics/opencolorio/Makefile	Wed Oct 23 18:39:25 2013	(r331404)
+++ head/graphics/opencolorio/Makefile	Wed Oct 23 18:50:17 2013	(r331405)
@@ -1,15 +1,15 @@
 # Created by: Shane Ambler <FreeBSD@Shaneware.biz>
 # $FreeBSD$
 
-PORTNAME?=	opencolorio
+PORTNAME=	opencolorio
 PORTVERSION=	1.0.8
-PORTREVISION?=	0
+PORTREVISION?=	1
 CATEGORIES=	graphics multimedia
 
 MAINTAINER?=	FreeBSD@Shaneware.biz
 COMMENT?=	Complete color management solution
 
-LICENSE?=	BSD
+LICENSE=	BSD
 
 USE_GITHUB=	yes
 GH_ACCOUNT=	imageworks
@@ -17,54 +17,38 @@ GH_PROJECT=	OpenColorIO
 GH_TAGNAME=	v${PORTVERSION}
 GH_COMMIT=	8883824
 
-.if !defined(OCIO_TOOLS)
-USE_PYTHON=	2.6+
-USE_LDCONFIG=	yes
-.endif
-
-USES=		cmake:outsource
-CMAKE_ARGS?=	-DOCIO_BUILD_APPS:BOOL=OFF \
-		-DOCIO_BUILD_JNIGLUE:BOOL=OFF \
-		-DOCIO_BUILD_NUKE:BOOL=OFF \
-		-DOCIO_BUILD_STATIC:BOOL=OFF \
-		-DOCIO_BUILD_PYGLUE:BOOL=ON
-
-MAKE_JOBS_SAFE?=	yes
+OPTIONS_DEFINE=	DOCS
 
+LDFLAGS+=	-L${LOCALBASE}/lib
 PLIST=		${PKGDIR}/pkg-plist${PKGNAMESUFFIX}
+USES=		cmake:outsource pkgconfig
 
-.if !defined(OCIO_TOOLS)
-OPTIONS_DEFINE=		DOCS SSE
-OPTIONS_DEFAULT=	DOCS SSE
-.endif
-
-NO_STAGE=	yes
-.include <bsd.port.options.mk>
-
-.if empty(PORT_OPTIONS:MDOCS) || defined(OCIO_TOOLS)
-CMAKE_ARGS+=	-DOCIO_BUILD_DOCS:BOOL=OFF
-.else
-CMAKE_ARGS+=	-DOCIO_BUILD_DOCS:BOOL=ON
-.endif
-
-.if ${PORT_OPTIONS:MSSE}
+.if ${MACHINE_CPU:Msse2}
 CMAKE_ARGS+=	-DOCIO_USE_SSE:BOOL=ON
 .else
 CMAKE_ARGS+=	-DOCIO_USE_SSE:BOOL=OFF
 .endif
 
-.include <bsd.port.pre.mk>
+.include <bsd.port.options.mk>
 
-.if ${CC:T} == "clang" && ${ARCH} == "i386" && ${OSVERSION} < 901000
-# workaround for pr/165968
-# was fixed in 9-STABLE before 9.1-RELEASE but not passed into 9-RELEASE
-CFLAGS+=	-march=pentium2
+.if ${SLAVE_PORT} == no
+LIB_DEPENDS+=	libtinyxml.so:${PORTSDIR}/textproc/tinyxml \
+		libyaml-cpp.so:${PORTSDIR}/devel/yaml-cpp
+USE_PYTHON=	2.6+
+USE_LDCONFIG=	yes
+CMAKE_ARGS+=	-DOCIO_BUILD_APPS:BOOL=OFF \
+		-DOCIO_BUILD_JNIGLUE:BOOL=OFF \
+		-DOCIO_BUILD_NUKE:BOOL=OFF \
+		-DOCIO_BUILD_STATIC:BOOL=OFF \
+		-DOCIO_BUILD_PYGLUE:BOOL=ON \
+		-DUSE_EXTERNAL_TINYXML:BOOL=ON \
+		-DUSE_EXTERNAL_YAML:BOOL=ON
 .endif
 
-post-patch:
-.if defined(OCIO_TOOLS)
-	@${FIND} ${WRKSRC}/src/apps -name "main.cpp" -exec \
-		${REINPLACE_CMD} -e 's|namespace OIIO|//namespace OIIO|g' "{}" \;
+.if ${PORT_OPTIONS:MDOCS}
+CMAKE_ARGS+=	-DOCIO_BUILD_DOCS:BOOL=ON
+.else
+CMAKE_ARGS+=	-DOCIO_BUILD_DOCS:BOOL=OFF
 .endif
 
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>

Modified: head/graphics/opencolorio/files/patch-export__OpenColorIO__OpenColorABI.h.in
==============================================================================
--- head/graphics/opencolorio/files/patch-export__OpenColorIO__OpenColorABI.h.in	Wed Oct 23 18:39:25 2013	(r331404)
+++ head/graphics/opencolorio/files/patch-export__OpenColorIO__OpenColorABI.h.in	Wed Oct 23 18:50:17 2013	(r331405)
@@ -1,5 +1,16 @@
 --- export/OpenColorIO/OpenColorABI.h.in.orig	2012-12-12 09:51:23.000000000 +1030
 +++ export/OpenColorIO/OpenColorABI.h.in	2013-01-29 21:13:34.104857600 +1030
+@@ -55,6 +55,10 @@
+ #include <boost/shared_ptr.hpp>
+ #define OCIO_SHARED_PTR boost::shared_ptr
+ #define OCIO_DYNAMIC_POINTER_CAST boost::dynamic_pointer_cast
++#elif defined(_LIBCPP_VERSION)
++#include <memory>
++#define OCIO_SHARED_PTR std::shared_ptr
++#define OCIO_DYNAMIC_POINTER_CAST std::dynamic_pointer_cast
+ #elif __GNUC__ >= 4
+ #include <tr1/memory>
+ #define OCIO_SHARED_PTR std::tr1::shared_ptr
 @@ -65,7 +65,7 @@
  
  // If supported, define OCIOEXPORT, OCIOHIDDEN

Modified: head/graphics/opencolorio/pkg-plist
==============================================================================
--- head/graphics/opencolorio/pkg-plist	Wed Oct 23 18:39:25 2013	(r331404)
+++ head/graphics/opencolorio/pkg-plist	Wed Oct 23 18:50:17 2013	(r331405)
@@ -116,7 +116,6 @@ share/ocio/setup_ocio.sh
 %%PORTDOCS%%%%DOCSDIR%%/userguide/tool_overview.html
 @dirrm include/OpenColorIO
 @dirrm include/PyOpenColorIO
-@dirrmtry libdata/pkgconfig
 @dirrm share/ocio
 %%PORTDOCS%%@dirrm %%DOCSDIR%%/userguide
 %%PORTDOCS%%@dirrm %%DOCSDIR%%/developers/bindings
@@ -132,3 +131,5 @@ share/ocio/setup_ocio.sh
 %%PORTDOCS%%@dirrm %%DOCSDIR%%/_sources
 %%PORTDOCS%%@dirrm %%DOCSDIR%%/_images
 %%PORTDOCS%%@dirrm %%DOCSDIR%%
+@dirrmtry %%PYTHON_SITELIBDIR%%
+@dirrmtry %%PYTHON_LIBDIR%%
_______________________________________________
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 9 Tijl Coosemans freebsd_committer freebsd_triage 2013-10-23 19:53:25 UTC
State Changed
From-To: feedback->closed

Committed in r331405.