ports/184611: [maintainer update] for graphics/openshadinglanguage
Shane Ambler
FreeBSD at Shaneware.biz
Sun Dec 8 23:10:01 UTC 2013
>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 at 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 at 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:
More information about the freebsd-ports-bugs
mailing list