Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package OpenShadingLanguage for 
openSUSE:Factory checked in at 2021-10-28 18:31:16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/OpenShadingLanguage (Old)
 and      /work/SRC/openSUSE:Factory/.OpenShadingLanguage.new.1890 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "OpenShadingLanguage"

Thu Oct 28 18:31:16 2021 rev:11 rq:926039 version:1.11.15.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/OpenShadingLanguage/OpenShadingLanguage.changes  
2021-09-08 21:36:55.805910484 +0200
+++ 
/work/SRC/openSUSE:Factory/.OpenShadingLanguage.new.1890/OpenShadingLanguage.changes
        2021-10-28 18:31:24.308413324 +0200
@@ -1,0 +2,12 @@
+Sun Oct 17 15:57:25 UTC 2021 - Hans-Peter Jansen <h...@urpla.net>
+
+- Update to version 1.11.15.0
+  + Changes for compatibility with OpenImageIO 2.3. #1393 #1388
+  + Fix potential crashes (or at least undefined behavior) due to
+    missing
+  + virtual destructor of internal Symbol type. #1397
+- Apply 8682211d0bfe5c4be63a4a003d06037ff9721e66.diff and 1420.diff
+  in order to build with LLVM 13.
+- Add partio library dependency
+
+-------------------------------------------------------------------

Old:
----
  OpenShadingLanguage-1.11.14.2.tar.gz

New:
----
  1420.diff
  8682211d0bfe5c4be63a4a003d06037ff9721e66.diff
  OpenShadingLanguage-1.11.15.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ OpenShadingLanguage.spec ++++++
--- /var/tmp/diff_new_pack.Hfaqxz/_old  2021-10-28 18:31:25.008413760 +0200
+++ /var/tmp/diff_new_pack.Hfaqxz/_new  2021-10-28 18:31:25.012413762 +0200
@@ -23,7 +23,7 @@
 %define oiio_major_minor_ver %(rpm -q --queryformat='%%{version}' 
OpenImageIO-devel | cut -d . -f 1-2)
 
 Name:           OpenShadingLanguage
-Version:        1.11.14.2
+Version:        1.11.15.0
 Release:        0
 Summary:        A language for programmable shading
 License:        BSD-3-Clause
@@ -31,6 +31,10 @@
 URL:            
https://github.com/AcademySoftwareFoundation/OpenShadingLanguage
 Source0:        
https://github.com/AcademySoftwareFoundation/OpenShadingLanguage/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
 Source1:        
https://creativecommons.org/licenses/by/3.0/legalcode.txt#/CC-BY-3.0.txt
+# PATCH-FIX-UPSTREAM: 8682211d0bfe5c4be63a4a003d06037ff9721e66.diff - fix 
build with LLVM >= 12
+Patch0:         8682211d0bfe5c4be63a4a003d06037ff9721e66.diff
+# PATCH-FIX-UPSTREAM: 1420.diff - fix build with LLVM >= 13
+Patch1:         1420.diff
 BuildRequires:  OpenEXR-devel
 BuildRequires:  OpenImageIO
 BuildRequires:  bison
@@ -41,6 +45,7 @@
 BuildRequires:  libboost_filesystem-devel
 BuildRequires:  libboost_system-devel
 BuildRequires:  libboost_thread-devel
+BuildRequires:  partio-devel
 BuildRequires:  pkg-config
 BuildRequires:  python3-devel
 BuildRequires:  python3-pybind11-devel

++++++ 1420.diff ++++++
Index: b/INSTALL.md
===================================================================
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -16,7 +16,7 @@ NEW or CHANGED dependencies since the la
 
 * A suitable C++11 compiler to build OSL itself, which may be any of:
    - GCC 4.8.5 or newer (tested through gcc 11)
-   - Clang 3.4 or newer (tested through clang 12)
+   - Clang 3.4 or newer (tested through clang 13)
    - Microsoft Visual Studio 2015 or newer
    - Intel C++ compiler icc version 13 (?) or newer
 
@@ -43,7 +43,7 @@ NEW or CHANGED dependencies since the la
     DYLD_LIBRARY_PATH on OS X) and then OSL's build scripts will be able
     to find it.
 
-* **[LLVM](http://www.llvm.org) 7, 8, 9, 10, 11, or 12**, including
+* **[LLVM](http://www.llvm.org) 7, 8, 9, 10, 11, 12, or 13**, including clang
   clang libraries.
 
   Note that LLVM 10+ is not compatible with C++11, and requires C++14 or
@@ -73,13 +73,13 @@ Build process
 
 Here are the steps to check out, build, and test the OSL distribution:
 
-0. Install and build dependencies.
+1. Install and build dependencies.
 
-1. Check out a copy of the source code from the Git repository:
+2. Check out a copy of the source code from the Git repository:
 
         git clone 
https://github.com/AcademySoftwareFoundation/OpenShadingLanguage.git osl
 
-2. Change to the distribution directory and 'make'
+3. Change to the distribution directory and 'make'
 
         cd osl
         make
@@ -95,7 +95,7 @@ Here are the steps to check out, build,
    "make STOP_ON_WARNING=0", that create a build that will only stop for
    full errors, not warnings.
 
-3. After compilation, you'll end up with a full OSL distribution in
+4. After compilation, you'll end up with a full OSL distribution in
    dist/ARCH, where ARCH is the architecture you are building on, one of
    "linux", "linux64", "macosx", "windows", or "windows64".
 
@@ -103,14 +103,14 @@ Here are the steps to check out, build,
    instead type 'make debug' at the top level, you will end up with
    a debug build (no optimization, full symbols) in "dist/ARCH.debug".
 
-4. Add the "dist/ARCH/bin" to your $PATH, and "dist/ARCH/lib" to your
+5. Add the "dist/ARCH/bin" to your $PATH, and "dist/ARCH/lib" to your
    $LD_LIBRAY_PATH (or $DYLD_LIBRARY_PATH on OS X), or copy the contents
    of those files to appropriate directories.  Public include files
    (those needed when building applications that incorporate OSL)
    can be found in "dist/ARCH/include", and documentation can be found
    in "dist/ARCH/share/doc".
 
-5. After building (and setting your library path), you can run the
+6. After building (and setting your library path), you can run the
    test suite with:
 
         make test
Index: b/src/include/OSL/llvm_util.h
===================================================================
--- a/src/include/OSL/llvm_util.h
+++ b/src/include/OSL/llvm_util.h
@@ -577,6 +577,9 @@ public:
                     llvm::Value *src, int srcalign, int len);
 
     /// Dereference a pointer:  return *ptr
+    /// type is the type of the thing being pointed to.
+    llvm::Value *op_load (llvm::Type* type, llvm::Value *ptr);
+    // Blind pointer version that's deprecated as of LLVM13:
     llvm::Value *op_load (llvm::Value *ptr);
 
     /// Store to a dereferenced pointer:   *ptr = val
@@ -589,17 +592,25 @@ public:
 
     /// Generate a GEP (get element pointer) where the element index is an
     /// llvm::Value, which can be generated from either a constant or a
-    /// runtime-computed integer element index.
+    /// runtime-computed integer element index. `type` is the type of the data
+    /// we're retrieving.
+    llvm::Value *GEP (llvm::Type* type, llvm::Value *ptr, llvm::Value *elem);
+    // Blind pointer version that's deprecated as of LLVM13:
     llvm::Value *GEP (llvm::Value *ptr, llvm::Value *elem);
 
     /// Generate a GEP (get element pointer) with an integer element
-    /// offset.
+    /// offset. `type` is the type of the data we're retrieving.
+    llvm::Value *GEP (llvm::Type* type, llvm::Value *ptr, int elem);
+    // Blind pointer version that's deprecated as of LLVM13:
     llvm::Value *GEP (llvm::Value *ptr, int elem);
 
     /// Generate a GEP (get element pointer) with two integer element
     /// offsets.  This is just a special (and common) case of GEP where
     /// we have a 2-level hierarchy and we have fixed element indices
-    /// that are known at compile time.
+    /// that are known at compile time.  `type` is the type of the data we're
+    /// retrieving.
+    llvm::Value *GEP (llvm::Type* type, llvm::Value *ptr, int elem1, int 
elem2);
+    // Blind pointer version that's deprecated as of LLVM13:
     llvm::Value *GEP (llvm::Value *ptr, int elem1, int elem2);
 
     // Arithmetic ops.  It auto-detects the type (int vs float).
Index: b/src/liboslexec/llvm_util.cpp
===================================================================
--- a/src/liboslexec/llvm_util.cpp
+++ b/src/liboslexec/llvm_util.cpp
@@ -2592,9 +2592,17 @@ LLVM_Util::op_memcpy (llvm::Value *dst,
 
 
 llvm::Value *
+LLVM_Util::op_load (llvm::Type* type, llvm::Value* ptr)
+{
+    return builder().CreateLoad (type, ptr);
+}
+
+
+
+llvm::Value *
 LLVM_Util::op_load (llvm::Value *ptr)
 {
-    return builder().CreateLoad (ptr);
+    return op_load(ptr->getType()->getPointerElementType(), ptr);
 }
 
 
@@ -2608,9 +2616,26 @@ LLVM_Util::op_store (llvm::Value *val, l
 
 
 llvm::Value *
+LLVM_Util::GEP (llvm::Type* type, llvm::Value* ptr, llvm::Value* elem)
+{
+    return builder().CreateGEP(type, ptr, elem);
+}
+
+
+
+llvm::Value *
 LLVM_Util::GEP (llvm::Value *ptr, llvm::Value *elem)
 {
-    return builder().CreateGEP (ptr, elem);
+    return GEP(ptr->getType()->getScalarType()->getPointerElementType(), ptr,
+               elem);
+}
+
+
+
+llvm::Value *
+LLVM_Util::GEP (llvm::Type* type, llvm::Value* ptr, int elem)
+{
+    return builder().CreateConstGEP1_32(type, ptr, elem);
 }
 
 
@@ -2618,7 +2643,16 @@ LLVM_Util::GEP (llvm::Value *ptr, llvm::
 llvm::Value *
 LLVM_Util::GEP (llvm::Value *ptr, int elem)
 {
-    return builder().CreateConstGEP1_32 (ptr, elem);
+    return GEP(ptr->getType()->getScalarType()->getPointerElementType(), ptr,
+               elem);
+}
+
+
+
+llvm::Value *
+LLVM_Util::GEP(llvm::Type* type, llvm::Value* ptr, int elem1, int elem2)
+{
+    return builder().CreateConstGEP2_32 (type, ptr, elem1, elem2);
 }
 
 
@@ -2626,7 +2660,8 @@ LLVM_Util::GEP (llvm::Value *ptr, int el
 llvm::Value *
 LLVM_Util::GEP (llvm::Value *ptr, int elem1, int elem2)
 {
-    return builder().CreateConstGEP2_32 (nullptr, ptr, elem1, elem2);
+    return GEP(ptr->getType()->getScalarType()->getPointerElementType(), ptr,
+               elem1, elem2);
 }
 
 
Index: b/src/liboslexec/runtimeoptimize.cpp
===================================================================
--- a/src/liboslexec/runtimeoptimize.cpp
+++ b/src/liboslexec/runtimeoptimize.cpp
@@ -2301,7 +2301,6 @@ RuntimeOptimizer::optimize_instance ()
     // passes, but we have a hard cutoff just to be sure we don't
     // ever get into an infinite loop from an unforseen cycle where we
     // end up inadvertently transforming A => B => A => etc.
-    int totalchanged = 0;
     int reallydone = 0;   // Force a few passes after we think we're done
     int npasses = shadingsys().opt_passes();
     for (m_pass = 0;  m_pass < npasses;  ++m_pass) {
@@ -2362,7 +2361,6 @@ RuntimeOptimizer::optimize_instance ()
         // If nothing changed, we're done optimizing.  But wait, it may be
         // that after re-tracking variable lifetimes, we can notice new
         // optimizations!  So force another pass, then we're really done.
-        totalchanged += changed;
         if (changed < 1) {
             if (++reallydone > 3)
                 break;
++++++ 8682211d0bfe5c4be63a4a003d06037ff9721e66.diff ++++++
diff --git a/src/liboslexec/llvm_util.cpp b/src/liboslexec/llvm_util.cpp
index 4bd0dca35..4d0e1752d 100644
--- a/src/liboslexec/llvm_util.cpp
+++ b/src/liboslexec/llvm_util.cpp
@@ -1407,7 +1407,9 @@ LLVM_Util::make_jit_execengine (std::string *err,
 
     options.NoZerosInBSS = false;
     options.GuaranteedTailCallOpt = false;
+#if OSL_LLVM_VERSION < 120
     options.StackAlignmentOverride = 0;
+#endif
     options.FunctionSections = true;
     options.UseInitArray = false;
     options.FloatABIType = llvm::FloatABI::Default;
@@ -5385,7 +5387,7 @@ void
 LLVM_Util::write_bitcode_file (const char *filename, std::string *err)
 {
     std::error_code local_error;
-    llvm::raw_fd_ostream out (filename, local_error, llvm::sys::fs::F_None);
+    llvm::raw_fd_ostream out (filename, local_error, llvm::sys::fs::OF_None);
     if (! out.has_error()) {
         llvm::WriteBitcodeToFile (*module(), out);
         if (err && local_error)
@@ -5447,7 +5449,9 @@ LLVM_Util::ptx_compile_group (llvm::Module* lib_module, 
const std::string& name,
     options.AllowFPOpFusion                        = llvm::FPOpFusion::Fast;
     options.NoZerosInBSS                           = 0;
     options.GuaranteedTailCallOpt                  = 0;
+#if OSL_LLVM_VERSION < 120
     options.StackAlignmentOverride                 = 0;
+#endif
     options.UseInitArray                           = 0;
 
     llvm::TargetMachine* target_machine = llvm_target->createTargetMachine(
++++++ OpenShadingLanguage-1.11.14.2.tar.gz -> 
OpenShadingLanguage-1.11.15.0.tar.gz ++++++
/work/SRC/openSUSE:Factory/OpenShadingLanguage/OpenShadingLanguage-1.11.14.2.tar.gz
 
/work/SRC/openSUSE:Factory/.OpenShadingLanguage.new.1890/OpenShadingLanguage-1.11.15.0.tar.gz
 differ: char 26, line 2

Reply via email to