Date: Sun, 8 Dec 2013 23:03:39 GMT From: Shane Ambler <FreeBSD@Shaneware.biz> To: freebsd-gnats-submit@FreeBSD.org Subject: ports/184611: [maintainer update] for graphics/openshadinglanguage Message-ID: <201312082303.rB8N3dNA006345@oldred.freebsd.org> Resent-Message-ID: <201312082310.rB8NA1bk086170@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 184611 >Category: ports >Synopsis: [maintainer update] for graphics/openshadinglanguage >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: maintainer-update >Submitter-Id: current-users >Arrival-Date: Sun Dec 08 23:10:00 UTC 2013 >Closed-Date: >Last-Modified: >Originator: Shane Ambler >Release: 9.2-RELEASE >Organization: >Environment: FreeBSD leader.local 9.2-RELEASE-p2 FreeBSD 9.2-RELEASE-p2 #1 r259039: Sat Dec 7 08:31:58 CST 2013 root@leader.local:/usr/obj/usr/src/sys/GENERIC amd64 >Description: update graphics/openshadinglanguage to 1.4.0 This release incorporates most previous patches - only three remain (patch-CMakeLists.txt patch-doc__CMakeLists.txt patch-shaders__CMakeLists.txt) >How-To-Repeat: >Fix: Patch attached with submission follows: diff -Nru openshadinglanguage.orig/Makefile openshadinglanguage/Makefile --- openshadinglanguage.orig/Makefile 2013-12-09 08:34:10.510822996 +1030 +++ openshadinglanguage/Makefile 2013-11-30 03:07:15.374492541 +1030 @@ -2,8 +2,8 @@ # $FreeBSD$ PORTNAME= openshadinglanguage -PORTVERSION= 1.3.3 -PORTREVISION= 3 +PORTVERSION= 1.4.0 +PORTREVISION= 0 CATEGORIES= graphics devel MAINTAINER= FreeBSD@Shaneware.biz @@ -22,9 +22,7 @@ GH_ACCOUNT= imageworks GH_PROJECT= OpenShadingLanguage GH_TAGNAME= Release-${PORTVERSION} -GH_COMMIT= 18671dc - -WRKSRC= ${WRKDIR}/imageworks-OpenShadingLanguage-${GH_COMMIT}/src +GH_COMMIT= fb85664 CMAKE_ARGS= -DLLVM_CONFIG:STRING="${LOCALBASE}/bin/llvm-config33" USE_LDCONFIG= yes @@ -32,10 +30,6 @@ .include <bsd.port.options.mk> -.if ${ARCH} == i386 && ! ${MACHINE_CPU:Mi586} -IGNORE= CPUTYPE must be i586 or higher in /etc/make.conf -.endif - .if ${OSVERSION} < 1000033 BUILD_DEPENDS+= flex>=2.5.37:${PORTSDIR}/textproc/flex CMAKE_ARGS+= -DFLEX_EXECUTABLE:STRING=${LOCALBASE}/bin/flex @@ -44,7 +38,7 @@ post-patch: @${REINPLACE_CMD} -e 's,/bin/bash,/bin/sh,' \ - ${WRKSRC}/liboslexec/serialize-bc.bash + ${WRKSRC}/src/liboslexec/serialize-bc.bash post-install: .for LNAME in oslcomp oslexec oslquery testshade diff -Nru openshadinglanguage.orig/distinfo openshadinglanguage/distinfo --- openshadinglanguage.orig/distinfo 2013-12-09 08:34:10.489554609 +1030 +++ openshadinglanguage/distinfo 2013-11-30 03:07:15.376288190 +1030 @@ -1,2 +1,2 @@ -SHA256 (openshadinglanguage-1.3.3.tar.gz) = 55c62a3eeedbf7dea5a672e0bdd73cc0fbf9c60e89d72d77bff5eb9cccca7578 -SIZE (openshadinglanguage-1.3.3.tar.gz) = 10316937 +SHA256 (openshadinglanguage-1.4.0.tar.gz) = 866bddfcaed7938a5ca61a7477e60ce7ae899b33d207a5faa7fd46cc72055f69 +SIZE (openshadinglanguage-1.4.0.tar.gz) = 11513652 diff -Nru openshadinglanguage.orig/files/patch-CMakeLists.txt openshadinglanguage/files/patch-CMakeLists.txt --- openshadinglanguage.orig/files/patch-CMakeLists.txt 2013-12-09 08:34:10.310225144 +1030 +++ openshadinglanguage/files/patch-CMakeLists.txt 2013-11-30 03:07:15.376490724 +1030 @@ -1,6 +1,6 @@ ---- CMakeLists.txt.orig 2013-07-12 01:01:18.000000000 +0200 -+++ CMakeLists.txt 2013-11-05 21:12:26.000000000 +0100 -@@ -9,10 +9,8 @@ +--- ./CMakeLists.txt.orig 2013-11-26 05:11:29.000000000 +1030 ++++ ./CMakeLists.txt 2013-11-28 23:52:39.202491493 +1030 +@@ -10,10 +10,8 @@ set (OSO_FILE_VERSION_MAJOR 1) set (OSO_FILE_VERSION_MINOR 0) @@ -13,7 +13,7 @@ set (CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS TRUE) message (STATUS "Project source dir = ${PROJECT_SOURCE_DIR}") message (STATUS "Project build dir = ${CMAKE_BINARY_DIR}") -@@ -21,6 +19,8 @@ +@@ -22,6 +20,8 @@ message (FATAL_ERROR "Not allowed to run in-source build!") endif () @@ -22,57 +22,46 @@ if (NOT CMAKE_BUILD_TYPE) set (CMAKE_BUILD_TYPE "Release") endif () -@@ -42,12 +42,11 @@ - OUTPUT_STRIP_TRAILING_WHITESPACE) - message (STATUS "Using gcc ${GCC_VERSION} as the compiler") - endif () --if (NOT CMAKE_COMPILER_IS_CLANG) -- string (REGEX MATCH clang CMAKE_COMPILER_IS_CLANG ${CMAKE_CXX_COMPILER}) -- if (CMAKE_COMPILER_IS_CLANG) -- set (CMAKE_COMPILER_IS_CLANG 1) -- message (STATUS "Using clang as the compiler") -- endif () -+ -+message (STATUS "CMAKE_CXX_COMPILER_ID is ${CMAKE_CXX_COMPILER_ID}") -+if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") -+ set (CMAKE_COMPILER_IS_CLANG 1) -+ message (STATUS "Using clang as the compiler") - endif () - - ## turn on more detailed warnings and consider warnings as errors -@@ -121,6 +120,10 @@ +@@ -124,12 +124,11 @@ endif () endif () +-# Try to detect if this is an OSX distro new enough that the system library +-# is libc++, in which case we should force use of Boost Wave (because that +-# avoids a nonstandard g++ extension in the other code path). +-if (EXISTS "/usr/lib/libc++.dylib" OR OSL_USE_LIBCPP) +- set (OSL_SYSTEM_HAS_LIBCPP ON) +-endif () +# Try to detect libc++, in which case we should force use of Boost +# Wave (because that avoids a nonstandard g++ extension in the other +# code path). +check_cxx_symbol_exists(_LIBCPP_VERSION string OSL_SYSTEM_HAS_LIBCPP) ++ set (VERBOSE OFF CACHE BOOL "Print lots of messages while compiling") set (BUILDSTATIC OFF CACHE BOOL "Build static library instead of shared") -@@ -129,12 +132,16 @@ - "Use an externally built shared library version of the pugixml library") - set (PUGIXML_HOME "" CACHE STRING "Hint about where to find external PugiXML library") - if (WIN32) -- set (USE_BOOST_WAVE ON CACHE BOOL "Use Boost Wave as preprocessor") - set (USE_LLVM_BITCODE OFF CACHE BOOL "Generate embedded LLVM bitcode") - else () -- set (USE_BOOST_WAVE OFF CACHE BOOL "Use Boost Wave as preprocessor") - set (USE_LLVM_BITCODE ON CACHE BOOL "Generated embedded LLVM bitcode") +@@ -167,7 +166,6 @@ + + if (CMAKE_COMPILER_IS_CLANG AND OSL_USE_LIBCPP) + message (STATUS "Using libc++") +- add_definitions ("-stdlib=libc++") endif () -+if (WIN32 OR OSL_SYSTEM_HAS_LIBCPP) -+ set (USE_BOOST_WAVE ON CACHE BOOL "Use Boost Wave as preprocessor") -+else () -+ set (USE_BOOST_WAVE OFF CACHE BOOL "Use Boost Wave as preprocessor") -+endif () -+ - set (USE_PARTIO ON CACHE BOOL "Use Partio if found") - if (LLVM_NAMESPACE) -@@ -149,6 +156,13 @@ - add_definitions ("${EXTRA_CPP_DEFINITIONS}") - endif() + set (CMAKE_MODULE_PATH +@@ -202,6 +200,10 @@ + + message (STATUS "CMAKE_INSTALL_RPATH = ${CMAKE_INSTALL_RPATH}") + ++# Try to detect libc++, in which case we should force use of Boost ++# Wave (because that avoids a nonstandard g++ extension in the other ++# code path). ++check_cxx_symbol_exists(_LIBCPP_VERSION string OSL_SYSTEM_HAS_LIBCPP) + + ########################################################################### + if (MSVC) +@@ -232,6 +234,13 @@ + add_subdirectory (src/include) + add_subdirectory (src/doc) +if (USE_BOOST_WAVE) + add_definitions ("-DUSE_BOOST_WAVE") @@ -82,5 +71,5 @@ + message (STATUS "Using libc++") +endif () - set (CMAKE_MODULE_PATH - "${PROJECT_SOURCE_DIR}/cmake/modules" + + ######################################################################### diff -Nru openshadinglanguage.orig/files/patch-doc__CMakeLists.txt openshadinglanguage/files/patch-doc__CMakeLists.txt --- openshadinglanguage.orig/files/patch-doc__CMakeLists.txt 2013-12-09 08:34:10.393309204 +1030 +++ openshadinglanguage/files/patch-doc__CMakeLists.txt 2013-11-30 03:07:15.438491007 +1030 @@ -1,5 +1,5 @@ ---- ./doc/CMakeLists.txt.orig 2013-02-15 11:22:42.000000000 +1030 -+++ ./doc/CMakeLists.txt 2013-02-17 07:11:28.270631151 +1030 +--- ./src/doc/CMakeLists.txt.orig 2013-11-26 05:11:29.000000000 +1030 ++++ ./src/doc/CMakeLists.txt 2013-11-28 23:57:11.961491397 +1030 @@ -1,11 +1,11 @@ set (public_docs osl-languagespec.pdf) # Some day: CLA-INDIVIDUAL CLA-CORPORATE @@ -7,10 +7,10 @@ -install (FILES ${public_docs} DESTINATION doc COMPONENT documentation) +install (FILES ${public_docs} DESTINATION ${CMAKE_INSTALL_PREFIX}/share/openshadinglanguage COMPONENT documentation) - install ( FILES ${PROJECT_SOURCE_DIR}/../LICENSE - ${PROJECT_SOURCE_DIR}/../INSTALL - ${PROJECT_SOURCE_DIR}/../CHANGES - ${PROJECT_SOURCE_DIR}/../README.md + install ( FILES "${PROJECT_SOURCE_DIR}/LICENSE" + "${PROJECT_SOURCE_DIR}/INSTALL" + "${PROJECT_SOURCE_DIR}/CHANGES" + "${PROJECT_SOURCE_DIR}/README.md" - DESTINATION . ) + DESTINATION ${CMAKE_INSTALL_PREFIX}/share/openshadinglanguage ) diff -Nru openshadinglanguage.orig/files/patch-liboslcomp__CMakeLists.txt openshadinglanguage/files/patch-liboslcomp__CMakeLists.txt --- openshadinglanguage.orig/files/patch-liboslcomp__CMakeLists.txt 2013-12-09 08:34:10.364596243 +1030 +++ openshadinglanguage/files/patch-liboslcomp__CMakeLists.txt 1970-01-01 09:30:00.000000000 +0930 @@ -1,9 +0,0 @@ ---- ./liboslcomp/CMakeLists.txt.orig 2013-07-12 08:31:18.000000000 +0930 -+++ ./liboslcomp/CMakeLists.txt 2013-11-03 18:07:25.644118883 +1030 -@@ -29,6 +29,3 @@ - INSTALL ( TARGETS oslcomp LIBRARY DESTINATION lib ) - endif () - --IF ( USE_BOOST_WAVE ) -- ADD_DEFINITIONS ( -DUSE_BOOST_WAVE ) --ENDIF () diff -Nru openshadinglanguage.orig/files/patch-liboslcomp__oslcomp.cpp openshadinglanguage/files/patch-liboslcomp__oslcomp.cpp --- openshadinglanguage.orig/files/patch-liboslcomp__oslcomp.cpp 2013-12-09 08:34:10.378474958 +1030 +++ openshadinglanguage/files/patch-liboslcomp__oslcomp.cpp 1970-01-01 09:30:00.000000000 +0930 @@ -1,20 +0,0 @@ ---- ./liboslcomp/oslcomp.cpp.orig 2013-07-12 08:31:18.000000000 +0930 -+++ ./liboslcomp/oslcomp.cpp 2013-11-03 18:07:25.646119281 +1030 -@@ -32,7 +32,7 @@ - #include <fstream> - #include <cstdio> - #include <streambuf> --#ifdef __GNUC__ -+#if defined(__GNUC__) && !defined(_LIBCPP_VERSION) && !defined(USE_BOOST_WAVE) - # include <ext/stdio_filebuf.h> - #endif - #include <cstdio> -@@ -268,7 +268,7 @@ - // std::cout << "cpp command:\n>" << cppcommand << "<\n"; - FILE *cpppipe = popen (cppcommand.c_str(), "r"); - --#ifdef __GNUC__ -+#if defined(__GNUC__) && !defined(_LIBCPP_VERSION) - __gnu_cxx::stdio_filebuf<char> fb (cpppipe, std::ios::in); - #else - std::filebuf fb (cpppipe); diff -Nru openshadinglanguage.orig/files/patch-liboslexec__constfold.cpp openshadinglanguage/files/patch-liboslexec__constfold.cpp --- openshadinglanguage.orig/files/patch-liboslexec__constfold.cpp 2013-12-09 08:34:10.393309204 +1030 +++ openshadinglanguage/files/patch-liboslexec__constfold.cpp 1970-01-01 09:30:00.000000000 +0930 @@ -1,42 +0,0 @@ ---- ./liboslexec/constfold.cpp.orig 2013-07-12 08:31:18.000000000 +0930 -+++ ./liboslexec/constfold.cpp 2013-11-03 18:07:25.648118961 +1030 -@@ -882,19 +882,22 @@ - { - Opcode &op (rop.inst()->ops()[opnum]); - // Symbol &R (*rop.inst()->argsymbol(op.firstarg()+0)); -- Symbol &Str (*rop.inst()->argsymbol(op.firstarg()+1)); -- Symbol &Results (*rop.inst()->argsymbol(op.firstarg()+2)); -- Symbol &Sep (*rop.inst()->argsymbol(op.firstarg()+3)); -- Symbol &Maxsplit (*rop.inst()->argsymbol(op.firstarg()+4)); -- if (Str.is_constant() && Sep.is_constant() && Maxsplit.is_constant()) { -+ Symbol &Str (*rop.opargsym (op, 1)); -+ Symbol &Results (*rop.opargsym (op, 2)); -+ Symbol *Sep (rop.opargsym (op, 3)); -+ Symbol *Maxsplit (rop.opargsym (op, 4)); -+ if (Str.is_constant() && (!Sep || Sep->is_constant()) && -+ (!Maxsplit || Maxsplit->is_constant())) { - // The split string, separator string, and maxsplit are all constants. - // Compute the results with Strutil::split. - int resultslen = Results.typespec().arraylength(); -- int maxsplit = Imath::clamp (*(int *)Maxsplit.data(), 0, resultslen); -+ int maxsplit = Maxsplit ? *(int *)Maxsplit->data() : resultslen; -+ maxsplit = std::min (maxsplit, resultslen); - std::vector<std::string> splits; -+ ustring sep = Sep ? (*(ustring *)Sep->data()) : ustring(""); - Strutil::split ((*(ustring *)Str.data()).string(), splits, -- (*(ustring *)Sep.data()).string(), maxsplit); -- int n = std::min (maxsplit, (int)splits.size()); -+ sep.string(), maxsplit); -+ int n = std::min (std::max(0,maxsplit), (int)splits.size()); - // Temporarily stash the index of the symbol holding results - int resultsarg = rop.inst()->args()[op.firstarg()+2]; - // Turn the 'split' into a straight assignment of the return value... -@@ -1337,7 +1340,7 @@ - *(const float *)Y.data() == 2.0f) { - // Turn x^2 into x*x, even if x is not constant - static ustring kmul("mul"); -- op.reset (kmul, 2); -+ op.reset (kmul, 3); - rop.inst()->args()[op.firstarg()+2] = rop.inst()->args()[op.firstarg()+1]; - return 1; - } diff -Nru openshadinglanguage.orig/files/patch-liboslexec__dictionary.cpp openshadinglanguage/files/patch-liboslexec__dictionary.cpp --- openshadinglanguage.orig/files/patch-liboslexec__dictionary.cpp 2013-12-09 08:34:10.289627396 +1030 +++ openshadinglanguage/files/patch-liboslexec__dictionary.cpp 1970-01-01 09:30:00.000000000 +0930 @@ -1,11 +0,0 @@ ---- ./liboslexec/dictionary.cpp.orig 2013-07-12 08:31:18.000000000 +0930 -+++ ./liboslexec/dictionary.cpp 2013-11-03 18:07:25.650119434 +1030 -@@ -50,7 +50,7 @@ - namespace pvt { // OSL::pvt - - --#ifndef USE_EXTERNAL_PUGIXML -+#ifdef USING_OIIO_PUGI - namespace pugi = OIIO::pugi; - #endif - diff -Nru openshadinglanguage.orig/files/patch-liboslexec__llvm_gen.cpp openshadinglanguage/files/patch-liboslexec__llvm_gen.cpp --- openshadinglanguage.orig/files/patch-liboslexec__llvm_gen.cpp 2013-12-09 08:34:10.418663810 +1030 +++ openshadinglanguage/files/patch-liboslexec__llvm_gen.cpp 1970-01-01 09:30:00.000000000 +0930 @@ -1,11 +0,0 @@ ---- ./liboslexec/llvm_gen.cpp.orig 2013-07-12 08:31:18.000000000 +0930 -+++ ./liboslexec/llvm_gen.cpp 2013-11-03 18:07:25.652119256 +1030 -@@ -3310,7 +3310,7 @@ - Symbol& Results = *rop.opargsym (op, 2); - DASSERT (R.typespec().is_int() && Str.typespec().is_string() && - Results.typespec().is_array() && -- Results.typespec().simpletype() == TypeDesc::TypeString); -+ Results.typespec().is_string_based()); - - llvm::Value *args[5]; - args[0] = rop.llvm_load_value (Str); diff -Nru openshadinglanguage.orig/files/patch-liboslexec__llvm_instance.cpp openshadinglanguage/files/patch-liboslexec__llvm_instance.cpp --- openshadinglanguage.orig/files/patch-liboslexec__llvm_instance.cpp 2013-12-09 08:34:10.418663810 +1030 +++ openshadinglanguage/files/patch-liboslexec__llvm_instance.cpp 1970-01-01 09:30:00.000000000 +0930 @@ -1,11 +0,0 @@ ---- ./liboslexec/llvm_instance.cpp.orig 2013-07-12 08:31:18.000000000 +0930 -+++ ./liboslexec/llvm_instance.cpp 2013-11-03 18:07:25.654119237 +1030 -@@ -809,7 +809,7 @@ - { - // Make a layer function: void layer_func(ShaderGlobals*, GroupData*) - // Note that the GroupData* is passed as a void*. -- std::string unique_layer_name = Strutil::format ("%s_%d", inst()->layername().c_str(), inst()->id()); -+ std::string unique_layer_name = Strutil::format ("%s_%d", inst()->layername(), inst()->id()); - - m_layer_func = llvm::cast<llvm::Function>(m_llvm_module->getOrInsertFunction(unique_layer_name, - llvm_type_void(), llvm_type_sg_ptr(), diff -Nru openshadinglanguage.orig/files/patch-liboslexec__runtimeoptimize.h openshadinglanguage/files/patch-liboslexec__runtimeoptimize.h --- openshadinglanguage.orig/files/patch-liboslexec__runtimeoptimize.h 2013-12-09 08:34:10.418663810 +1030 +++ openshadinglanguage/files/patch-liboslexec__runtimeoptimize.h 1970-01-01 09:30:00.000000000 +0930 @@ -1,32 +0,0 @@ ---- ./liboslexec/runtimeoptimize.h.orig 2013-07-12 08:31:18.000000000 +0930 -+++ ./liboslexec/runtimeoptimize.h 2013-11-03 18:07:25.656119123 +1030 -@@ -345,7 +345,8 @@ - /// Helper: return the ptr to the symbol that is the argnum-th - /// argument to the given op. - Symbol *opargsym (const Opcode &op, int argnum) { -- return inst()->argsymbol (op.firstarg()+argnum); -+ return (argnum < op.nargs()) ? -+ inst()->argsymbol (op.firstarg()+argnum) : NULL; - } - - /// Create an llvm function for the whole shader group, JIT it, -@@ -826,7 +827,7 @@ - /// - llvm::BasicBlock *llvm_exit_instance_block () { - if (! m_exit_instance_block) { -- std::string name = Strutil::format ("%s_%d_exit_", inst()->layername().c_str(), inst()->id()); -+ std::string name = Strutil::format ("%s_%d_exit_", inst()->layername(), inst()->id()); - m_exit_instance_block = llvm_new_basic_block (name); - } - return m_exit_instance_block; -@@ -887,8 +888,8 @@ - int m_local_unknown_message_sent; ///< Non-const setmessage in this inst - std::vector<ustring> m_local_messages_sent; ///< Messages set in this inst - std::vector<int> m_bblockids; ///< Basic block IDs for each op -- std::vector<bool> m_in_conditional; ///< Whether each op is in a cond -- std::vector<bool> m_in_loop; ///< Whether each op is in a loop -+ std::vector<char> m_in_conditional; ///< Whether each op is in a cond -+ std::vector<char> m_in_loop; ///< Whether each op is in a loop - std::vector<int> m_layer_remap; ///< Remapping of layer ordering - std::set<int> m_layers_already_run; ///< List of layers run - int m_num_used_layers; ///< Number of layers actually used diff -Nru openshadinglanguage.orig/files/patch-shaders__CMakeLists.txt openshadinglanguage/files/patch-shaders__CMakeLists.txt --- openshadinglanguage.orig/files/patch-shaders__CMakeLists.txt 2013-12-09 08:34:10.331308171 +1030 +++ openshadinglanguage/files/patch-shaders__CMakeLists.txt 2013-11-30 03:07:15.438491007 +1030 @@ -1,5 +1,5 @@ ---- ./shaders/CMakeLists.txt.orig 2013-02-15 11:22:42.000000000 +1030 -+++ ./shaders/CMakeLists.txt 2013-02-17 07:11:28.389609929 +1030 +--- ./src/shaders/CMakeLists.txt.orig 2013-02-15 11:22:42.000000000 +1030 ++++ ./src/shaders/CMakeLists.txt 2013-02-17 07:11:28.389609929 +1030 @@ -42,5 +42,5 @@ SOURCES ${shader_source} ${shader_headers}) >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201312082303.rB8N3dNA006345>