This repository has been archived by the owner. It is now read-only.

New formula: opencolorio #10669

Closed
wants to merge 1 commit into
from

Conversation

Projects
None yet
5 participants
@2bits
Contributor

2bits commented Mar 3, 2012

OpenColorIO (OCIO) is a complete color management solution geared
towards motion picture production with an emphasis on visual effects
and computer animation. See: http://opencolorio.org

OCIO is at version 1.0.6 and has been in development since 2003. It
is one of several open source projects actively sponsored by Sony
Imageworks.

OCIO is a new dep for OpenImageIO (OIIO), adding functionality.

OCIO has a built-in test suite that is passes. There are stable
and head methods available. It builds using the system OpenGL,
and little-cms2, along with pkg-config and cmake. An Alias is
added for this formula to ocio. It has python bindings enabled
with a user option, following the example of vtk.

OCIO head and stable build and run very well on Lion and SL using
all five compilers from XCode-4.3.1, 4.0.2, and CLT-4.3.1, thanks to
patches the devs merged upstream for us.

EDIT: code cleanup
EDIT: bump to 1.0.6, remove rescue clause. All tests pass.

@2bits

This comment has been minimized.

Show comment
Hide comment
@2bits

2bits Mar 12, 2012

Contributor

@jacknagel Hello. This is a new formula. Their website is worth a look.

Contributor

2bits commented Mar 12, 2012

@jacknagel Hello. This is a new formula. Their website is worth a look.

+ # in the root directory, e.g.
+ # Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/usr/include
+ # /usr/include
+ # So we just set the sysroot to /

This comment has been minimized.

@jacknagel

jacknagel Mar 12, 2012

Contributor

Some upstream patches went into the cmake formula recently, do they help with the issues here?

@jacknagel

jacknagel Mar 12, 2012

Contributor

Some upstream patches went into the cmake formula recently, do they help with the issues here?

This comment has been minimized.

@2bits

2bits Mar 12, 2012

Contributor

@jacknagel The cmake patches don't help at all. I tested with those patches against XCode-4.3.1.
Because CMake won't deal with the case where xcode-select -print-path only returns errors (CLT only)
we get a malformed:

CMAKE_OSX_SYSROOT = /SDKs/MacOSX10.7.sdk in CMakeCache.txt.

When you combine that with CMAKE_CXX_HAS_ISYSROOT "1" being defined because llvm
supports that flag, then you have a recipe for problems.

The question has always been, does a bad -isysroot leak into CXX_FLAGS all the time.
Obviously not or all my brews would fail.

Then I have to find why this software gets that included into CXX_FLAGS
I have looked at the code till I'm blue, and it is not added explicitly.
I can trace the origin of every flag in CXX_FLAGS except these two:

-arch x86_64 -isysroot /SDKs/MacOSX10.7.sdk

I hypothesize that the devs set the arch, which I missed happening and that
the arch variable triggers CMake to also add the sysroot variable.

I've asked this question on the cmake mailing list, what can trigger the inclusion
of -isysroot into flags.make in the CXX_FLAGS variable if the devs do not
explicitly code it to be in those flags, but I get no reply. I'm now at the point
where I just run full xcode. I gave up on the CLT only because it's unsupported
by CMake.

@2bits

2bits Mar 12, 2012

Contributor

@jacknagel The cmake patches don't help at all. I tested with those patches against XCode-4.3.1.
Because CMake won't deal with the case where xcode-select -print-path only returns errors (CLT only)
we get a malformed:

CMAKE_OSX_SYSROOT = /SDKs/MacOSX10.7.sdk in CMakeCache.txt.

When you combine that with CMAKE_CXX_HAS_ISYSROOT "1" being defined because llvm
supports that flag, then you have a recipe for problems.

The question has always been, does a bad -isysroot leak into CXX_FLAGS all the time.
Obviously not or all my brews would fail.

Then I have to find why this software gets that included into CXX_FLAGS
I have looked at the code till I'm blue, and it is not added explicitly.
I can trace the origin of every flag in CXX_FLAGS except these two:

-arch x86_64 -isysroot /SDKs/MacOSX10.7.sdk

I hypothesize that the devs set the arch, which I missed happening and that
the arch variable triggers CMake to also add the sysroot variable.

I've asked this question on the cmake mailing list, what can trigger the inclusion
of -isysroot into flags.make in the CXX_FLAGS variable if the devs do not
explicitly code it to be in those flags, but I get no reply. I'm now at the point
where I just run full xcode. I gave up on the CLT only because it's unsupported
by CMake.

@jacknagel

View changes

Library/Formula/opencolorio.rb
+ # than the usual HOMEBREW_PREFIX/lib/python2.7/site-packages per developer choice.
+
+ if ARGV.include? '--with-python'
+ if `which python-config` == '' then # bail out if no python.

This comment has been minimized.

@jacknagel

jacknagel Mar 12, 2012

Contributor

We have a which helper method now (in utils.rb) that returns either nil or a pathname.

@jacknagel

jacknagel Mar 12, 2012

Contributor

We have a which helper method now (in utils.rb) that returns either nil or a pathname.

This comment has been minimized.

@adamv

adamv Mar 12, 2012

Contributor

There will always be a Python on OS X, the system Python ships with python-config.

@adamv

adamv Mar 12, 2012

Contributor

There will always be a Python on OS X, the system Python ships with python-config.

@2bits

This comment has been minimized.

Show comment
Hide comment
@2bits

2bits Mar 12, 2012

Contributor

Okay. I'll trust you on that, and I'll remove the check for python-config.

Contributor

2bits commented Mar 12, 2012

Okay. I'll trust you on that, and I'll remove the check for python-config.

@2bits

This comment has been minimized.

Show comment
Hide comment
@2bits

2bits Mar 12, 2012

Contributor

They might bump to 1.0.6 in a few days. Thanks for helping me find the defects. I made those changes.

Contributor

2bits commented Mar 12, 2012

They might bump to 1.0.6 in a few days. Thanks for helping me find the defects. I made those changes.

@2bits

This comment has been minimized.

Show comment
Hide comment
@2bits

2bits Mar 12, 2012

Contributor

@jacknagel upgraded the formula to version 1.0.6. All tests pass on all compilers. How do we code the python section to enforce using python-2.7.x ? The developer mentioned to me that the bindings don't work with python3.

Contributor

2bits commented Mar 12, 2012

@jacknagel upgraded the formula to version 1.0.6. All tests pass on all compilers. How do we code the python section to enforce using python-2.7.x ? The developer mentioned to me that the bindings don't work with python3.

@jacknagel

This comment has been minimized.

Show comment
Hide comment
@jacknagel

jacknagel Mar 12, 2012

Contributor

I believe all of the python3 binaries have the -3 suffix (i.e. python3-config) so it shouldn't be a problem.

Contributor

jacknagel commented Mar 12, 2012

I believe all of the python3 binaries have the -3 suffix (i.e. python3-config) so it shouldn't be a problem.

@mistydemeo

This comment has been minimized.

Show comment
Hide comment
@mistydemeo

mistydemeo Mar 18, 2012

Contributor

@jacknagel Are you ready to pull this?

Contributor

mistydemeo commented Mar 18, 2012

@jacknagel Are you ready to pull this?

@jacknagel

This comment has been minimized.

Show comment
Hide comment
@jacknagel

jacknagel Mar 18, 2012

Contributor

Haven't looked at it for a few days, if someone else can/wants to give it a proper review that would be fine.

Contributor

jacknagel commented Mar 18, 2012

Haven't looked at it for a few days, if someone else can/wants to give it a proper review that would be fine.

@mistydemeo

This comment has been minimized.

Show comment
Hide comment
@mistydemeo

mistydemeo Mar 18, 2012

Contributor

OK, I'll give a look over.

Contributor

mistydemeo commented Mar 18, 2012

OK, I'll give a look over.

@2bits

This comment has been minimized.

Show comment
Hide comment
@2bits

2bits Mar 18, 2012

Contributor

I just remembered the ocio devs are close to moving that python library into site-packages.
Because they correctly determine our /usr/local/lib/python2.7/site-packages, I think they will
get the install correct, but if you want to hold off, I don't blame you. See also

imageworks/OpenColorIO#236 (comment)

Contributor

2bits commented Mar 18, 2012

I just remembered the ocio devs are close to moving that python library into site-packages.
Because they correctly determine our /usr/local/lib/python2.7/site-packages, I think they will
get the install correct, but if you want to hold off, I don't blame you. See also

imageworks/OpenColorIO#236 (comment)

@mistydemeo

This comment has been minimized.

Show comment
Hide comment
@mistydemeo

mistydemeo Mar 26, 2012

Contributor

Aside from the Python lib business, this looks good to me.

If you think it's best to wait on the python library changes, I'll wait until that's done - otherwise I'm ready to pull.

Contributor

mistydemeo commented Mar 26, 2012

Aside from the Python lib business, this looks good to me.

If you think it's best to wait on the python library changes, I'll wait until that's done - otherwise I'm ready to pull.

@2bits

This comment has been minimized.

Show comment
Hide comment
@2bits

2bits Mar 26, 2012

Contributor

Sounds good. They haven't moved forward on it, but they sounded like they would.

Contributor

2bits commented Mar 26, 2012

Sounds good. They haven't moved forward on it, but they sounded like they would.

@dbr

This comment has been minimized.

Show comment
Hide comment
@dbr

dbr Mar 27, 2012

Contributor

Good work 2bits - thanks for working on this!

Contributor

dbr commented Mar 27, 2012

Good work 2bits - thanks for working on this!

@2bits

This comment has been minimized.

Show comment
Hide comment
@2bits

2bits Mar 27, 2012

Contributor

You're welcome. It's a pleasure to build well written code. The above commit baa992a modifies the caveats for accuracy. Thanks for the suggestions.

Contributor

2bits commented Mar 27, 2012

You're welcome. It's a pleasure to build well written code. The above commit baa992a modifies the caveats for accuracy. Thanks for the suggestions.

Nibbles 2bits
New Formula: opencolorio
OpenColorIO (OCIO) is a complete color management solution geared
towards motion picture production with an emphasis on visual effects
and computer animation.  See:  http://opencolorio.org

OCIO is at version 1.0.6 and has been in development since 2003. It
is one of several open source projects actively sponsored by Sony
Imageworks.

OCIO is a new dep for OpenImageIO (OIIO), adding functionality.

OCIO has a built-in test suite that is passes.  There are stable
and head methods available.  It builds using the system OpenGL,
and little-cms2, along with pkg-config and cmake.  An Alias is
added for this formula to ocio.  It has python bindings enabled
with a user option, following the example of vtk.

OCIO head and stable build and run very well on Lion and SL using
all five compilers from XCode-4.3.2, 4.0.2, and CLT-4.3.2, thanks
to patches the devs merged upstream for us.

EDIT: code fix redacted args.
EDIT: shrink formula comments.
EDIT: test against XCode-4.3.1.
EDIT: remove the unnecessary which python-config
EDIT: change to version 1.0.6.  Remove rescue clause.  Tests work.
EDIT: tests pass against XCode-4.3.2.
EDIT: modify the caveats for accuracy using the dev's suggestions.
EDIT: remove the `\n` after the caveat url
@2bits

This comment has been minimized.

Show comment
Hide comment
@2bits

2bits Mar 27, 2012

Contributor

The above commit 9fc8c9b removes the \n per request from the caveat url.

Contributor

2bits commented Mar 27, 2012

The above commit 9fc8c9b removes the \n per request from the caveat url.

@2bits

This comment has been minimized.

Show comment
Hide comment
@2bits

2bits Apr 1, 2012

Contributor

Upstream has merged in a change that installs PyOpenColorIO.so into site-packages. I tested it, and it works well. I'm now waiting on a bump to 1.0.7 to get that fix into stable.

Contributor

2bits commented Apr 1, 2012

Upstream has merged in a change that installs PyOpenColorIO.so into site-packages. I tested it, and it works well. I'm now waiting on a bump to 1.0.7 to get that fix into stable.

@mistydemeo mistydemeo closed this in b57cbe1 Apr 2, 2012

@mistydemeo

This comment has been minimized.

Show comment
Hide comment
@mistydemeo

mistydemeo Apr 2, 2012

Contributor

Pulled with patches for the PyOpenColorIO.so location sourced from the ocio tree.

Thanks again for your hard work on this.

Contributor

mistydemeo commented Apr 2, 2012

Pulled with patches for the PyOpenColorIO.so location sourced from the ocio tree.

Thanks again for your hard work on this.

Sharpie pushed a commit to Sharpie/homebrew that referenced this pull request Sep 12, 2012

New Formula: opencolorio
OpenColorIO (OCIO) is a complete color management solution geared
towards motion picture production with an emphasis on visual effects
and computer animation.  See:  http://opencolorio.org

OCIO is at version 1.0.6 and has been in development since 2003. It
is one of several open source projects actively sponsored by Sony
Imageworks.

OCIO is a new dep for OpenImageIO (OIIO), adding functionality.

OCIO has a built-in test suite that is passes.  There are stable
and head methods available.  It builds using the system OpenGL,
and little-cms2, along with pkg-config and cmake.  An Alias is
added for this formula to ocio.  It has python bindings enabled
with a user option, following the example of vtk.

OCIO head and stable build and run very well on Lion and SL using
all five compilers from XCode-4.3.2, 4.0.2, and CLT-4.3.2, thanks
to patches the devs merged upstream for us.

EDIT: code fix redacted args.
EDIT: shrink formula comments.
EDIT: test against XCode-4.3.1.
EDIT: remove the unnecessary which python-config
EDIT: change to version 1.0.6.  Remove rescue clause.  Tests work.
EDIT: tests pass against XCode-4.3.2.
EDIT: modify the caveats for accuracy using the dev's suggestions.
EDIT: remove the `\n` after the caveat url

Closes #10669.

Signed-off-by: Misty De Meo <mistydemeo@gmail.com>

snakeyroc3 pushed a commit to snakeyroc3/homebrew that referenced this pull request Dec 17, 2012

New Formula: opencolorio
OpenColorIO (OCIO) is a complete color management solution geared
towards motion picture production with an emphasis on visual effects
and computer animation.  See:  http://opencolorio.org

OCIO is at version 1.0.6 and has been in development since 2003. It
is one of several open source projects actively sponsored by Sony
Imageworks.

OCIO is a new dep for OpenImageIO (OIIO), adding functionality.

OCIO has a built-in test suite that is passes.  There are stable
and head methods available.  It builds using the system OpenGL,
and little-cms2, along with pkg-config and cmake.  An Alias is
added for this formula to ocio.  It has python bindings enabled
with a user option, following the example of vtk.

OCIO head and stable build and run very well on Lion and SL using
all five compilers from XCode-4.3.2, 4.0.2, and CLT-4.3.2, thanks
to patches the devs merged upstream for us.

EDIT: code fix redacted args.
EDIT: shrink formula comments.
EDIT: test against XCode-4.3.1.
EDIT: remove the unnecessary which python-config
EDIT: change to version 1.0.6.  Remove rescue clause.  Tests work.
EDIT: tests pass against XCode-4.3.2.
EDIT: modify the caveats for accuracy using the dev's suggestions.
EDIT: remove the `\n` after the caveat url

Closes #10669.

Signed-off-by: Misty De Meo <mistydemeo@gmail.com>

@xu-cheng xu-cheng locked and limited conversation to collaborators Feb 16, 2016

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.