Bug 216462 - [maintainer update] for graphics/openshadinglanguage
Summary: [maintainer update] for graphics/openshadinglanguage
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Jan Beich
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-01-25 15:49 UTC by Shane
Modified: 2017-01-27 19:53 UTC (History)
1 user (show)

See Also:


Attachments
update for graphics/openshadinglanguage (2.24 KB, patch)
2017-01-25 15:49 UTC, Shane
no flags Details | Diff
update for graphics/openshadinglanguage (2.04 KB, patch)
2017-01-25 16:35 UTC, Shane
no flags Details | Diff
update for graphics/openshadinglanguage (1.61 KB, patch)
2017-01-27 10:21 UTC, Shane
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Shane 2017-01-25 15:49:46 UTC
Created attachment 179309 [details]
update for graphics/openshadinglanguage

-Update to 1.7.5
-Add indirect dependencies
-Remove clang34 from BUILD_DEPENDS
-Remove USES=compiler
-Remove USE_GCC on powerpc builds
-Remove 9.x specific adjustment (flex BUILD_DEPENDS)
-Disable USE_LLVM_BITCODE on 12-current - this prevents the use of llvm-as which fails after the import of clang 4.0 into base.
Comment 1 Shane 2017-01-25 15:53:38 UTC
Jan Beich - in response from bug #216054 - the need for preventing gcc42 was in older versions, some patches have been done to fix that (from linux builders) and more recently the powerpc build specifically enabled gcc as clang fails there, so removing the USES=compiler and the USE_GCC section should also be OK for all archs.

Even after updating the clang400-import build to r312720 which has the `include/__config` patch, this still fails - differently with "error: expected top-level entity" - which seems to be more of an issue from the mix of llvm34 and clang4 being not fully compatible, so the proper fix should be to get support for newer llvm versions, or keeping the clang34 dependency might work. For now I think we just disable the llvm bitcode step in current until newer llvm support is added to the project, I expect to get that before 12-release as the main dev uses osx and has mentioned waiting until newer llvms show up in homebrew before updating it, so it shouldn't be hard to push that along.
Comment 2 Shane 2017-01-25 16:35:51 UTC
Created attachment 179312 [details]
update for graphics/openshadinglanguage

Seems I overlooked re-testing on 11 after removing clang34 - it does need to stay, and prevents needing to disable the llvm bitcode step on current.

-Update to 1.7.5
-Add indirect dependencies
-Remove USES=compiler
-Remove USE_GCC on powerpc builds
-Remove 9.x specific adjustment (flex BUILD_DEPENDS)
Comment 3 Jan Beich freebsd_committer 2017-01-25 21:38:35 UTC
Comment on attachment 179312 [details]
update for graphics/openshadinglanguage

> +		libtinfo.so:devel/ncurses \

Convert to USES=ncurses as the port builds fine with libtinfo.so from base.

> +		... -DOSL_BUILD_CPP11:BOOL=OFF \
> +		-DOSL_BUILD_CPP14:BOOL=OFF

C++11/14 are already default OFF by vendor. Is this part of dropping USES=compiler:c11?

> -USES=		... compiler:c11
[...]
> -.if ${ARCH} == powerpc
> -USE_GCC=	yes
> -.endif

USES=compiler:c++11-lib would have defined USE_GCC on powerpc for you as long as /usr/bin/cc remains GCC. ;)

> -.if ${OSVERSION} < 1000033
> -BUILD_DEPENDS+=	flex>=2.5.37:textproc/flex
> -CMAKE_ARGS+=	-DFLEX_EXECUTABLE:STRING=${LOCALBASE}/bin/flex
> -CXXFLAGS+=	-I${LOCALBASE}/include/flex
> -.endif

Did you forget to rebase? This part is gone since ports r431169.
Comment 4 Shane 2017-01-27 10:21:49 UTC
Created attachment 179351 [details]
update for graphics/openshadinglanguage

Upstream is enabling C++11 by default - looks like that may only be in 1.8.x. I deliberately disabled it after testing and finding that it breaks linking with boost. C++14 was just me keeping the two together.

The inclusion of clang34 is only used with src/liboslexec/llvm_ops.cpp the rest is built using CXX. USES=compiler was to prevent gcc42 being used, the powerpc maintainers added USE_GCC to fix powerpc builds - see ports r402595. That may still be required to force use of gcc49 over gcc42? or would `USES=compiler:c++11-lib` be a better way? I can't test powerpc builds here.
Comment 5 commit-hook freebsd_committer 2017-01-27 19:52:42 UTC
A commit references this bug:

Author: jbeich
Date: Fri Jan 27 19:52:03 UTC 2017
New revision: 432568
URL: https://svnweb.freebsd.org/changeset/ports/432568

Log:
  graphics/openshadinglanguage: update to 1.7.5

  - Add indirect dependencies
  - Convert USE_GCC to USES=compiler:c++11-lib
  - Chase WWW redirect

  Changes:	https://github.com/imageworks/OpenShadingLanguage/raw/Release-1.7.5/CHANGES
  PR:		216462
  Submitted by:	Shane <FreeBSD@ShaneWare.Biz> (maintainer)

Changes:
  head/graphics/appleseed/Makefile
  head/graphics/blender/Makefile
  head/graphics/openshadinglanguage/Makefile
  head/graphics/openshadinglanguage/distinfo
  head/graphics/openshadinglanguage/pkg-descr
Comment 6 Jan Beich freebsd_committer 2017-01-27 19:53:28 UTC
Thanks. Landed.