#2 Update to 22.05a (close RHBZ#2078041)
Merged 2 years ago by music. Opened 2 years ago by music.
rpms/ music/usd v22.05a  into  rawhide

file modified
+2
@@ -2,3 +2,5 @@ 

  /usd-21.08.tar.gz

  /usd-21.11.tar.gz

  /usd-22.03.tar.gz

+ /usd-22.05.tar.gz

+ /usd-22.05a.tar.gz

@@ -1,65 +0,0 @@ 

- From 04dd02515d1ee05e26629ba540afc53986ae60e0 Mon Sep 17 00:00:00 2001

- From: Bastien Montagne <bastien@blender.org>

- Date: Fri, 18 Feb 2022 11:05:34 +0100

- Subject: [PATCH] Fix compilation on GCC11.

- 

- GCC11 removed some 'implicit includes', see

- https://www.gnu.org/software/gcc/gcc-11/porting_to.html#header-dep-changes

- for reference.

- ---

-  pxr/base/js/testenv/testJsWriter.cpp | 1 +

-  pxr/base/tf/testenv/weakPtr.cpp      | 1 +

-  pxr/base/work/singularTask.h         | 2 +-

-  pxr/usd/sdr/shaderMetadataHelpers.h  | 2 ++

-  4 files changed, 5 insertions(+), 1 deletion(-)

- 

- diff --git a/pxr/base/js/testenv/testJsWriter.cpp b/pxr/base/js/testenv/testJsWriter.cpp

- index cd897b8f4c..bd2a1788a0 100644

- --- a/pxr/base/js/testenv/testJsWriter.cpp

- +++ b/pxr/base/js/testenv/testJsWriter.cpp

- @@ -29,6 +29,7 @@

-  #include "pxr/base/tf/diagnostic.h"

-  

-  #include <fstream>

- +#include <limits>

-  

-  PXR_NAMESPACE_USING_DIRECTIVE

-  

- diff --git a/pxr/base/tf/testenv/weakPtr.cpp b/pxr/base/tf/testenv/weakPtr.cpp

- index 6950d502d3..53e55d48b7 100644

- --- a/pxr/base/tf/testenv/weakPtr.cpp

- +++ b/pxr/base/tf/testenv/weakPtr.cpp

- @@ -37,6 +37,7 @@

-  #include <map>

-  #include <mutex>

-  #include <string>

- +#include <thread>

-  

-  PXR_NAMESPACE_USING_DIRECTIVE

-  

- diff --git a/pxr/base/work/singularTask.h b/pxr/base/work/singularTask.h

- index 0c7914d0b7..bc82bbf748 100644

- --- a/pxr/base/work/singularTask.h

- +++ b/pxr/base/work/singularTask.h

- @@ -108,7 +108,7 @@ class WorkSingularTask

-                      // case we go again to ensure the task can do whatever it

-                      // was awakened to do.  Once we successfully take the count

-                      // to zero, we stop.

- -                    size_t old = count;

- +                    std::size_t old = count;

-                      do { _fn(); } while (

-                          !count.compare_exchange_strong(old, 0));

-                  });

- diff --git a/pxr/usd/sdr/shaderMetadataHelpers.h b/pxr/usd/sdr/shaderMetadataHelpers.h

- index 1402a27e71..0ed3274a94 100644

- --- a/pxr/usd/sdr/shaderMetadataHelpers.h

- +++ b/pxr/usd/sdr/shaderMetadataHelpers.h

- @@ -32,6 +32,8 @@

-  #include "pxr/base/tf/token.h"

-  #include "pxr/usd/sdr/declare.h"

-  

- +#include <limits>

- +

-  PXR_NAMESPACE_OPEN_SCOPE

-  

-  /// \namespace ShaderMetadataHelpers

file added
+189
@@ -0,0 +1,189 @@ 

+ From 566da79a23d9c182e6fcc463efcc2cc585dde08b Mon Sep 17 00:00:00 2001

+ From: =?UTF-8?q?Charles=20Fl=C3=A8che?= <charles.fleche@free.fr>

+ Date: Sun, 10 Apr 2022 12:08:30 -0400

+ Subject: [PATCH] Add PXR_ENABLE_MALLOCHOOK_SUPPORT build option

+ 

+ ---

+  BUILDING.md                  |  9 ++++++++-

+  build_scripts/build_usd.py   | 18 ++++++++++++++++++

+  cmake/defaults/Options.cmake |  1 +

+  pxr/base/arch/CMakeLists.txt |  5 +++++

+  pxr/base/arch/mallocHook.cpp | 17 +++++++++++------

+  5 files changed, 43 insertions(+), 7 deletions(-)

+ 

+ diff --git a/BUILDING.md b/BUILDING.md

+ index d62efeb53b..16c22917ce 100644

+ --- a/BUILDING.md

+ +++ b/BUILDING.md

+ @@ -413,7 +413,7 @@ There are certain optimizations that can be enabled in the build.

+  ##### Malloc Library

+  

+  We've found that USD performs best with allocators such as [Jemalloc](https://github.com/jemalloc/jemalloc).

+ -In support of this, you can specify your own allocator through ```PXR_MALLOC_LIBRARY```.

+ +In support of this, for Linux systems you can specify your own allocator through ```PXR_MALLOC_LIBRARY```.

+  This variable should be set to a path to a shared object for the allocator. For example,

+  

+  ```bash

+ @@ -423,6 +423,13 @@ This variable should be set to a path to a shared object for the allocator. For

+  If none are specified, the default allocator will be used. More information on getting the most out of

+  USD can be found [Getting the Best Performance with USD](http://openusd.org/docs/Maximizing-USD-Performance.html).

+  

+ +However glibc 2.34 removed the deprecated memory allocation hooks, preventing USD to correctly build. Custom memory

+ +allocation code can be compiled out with the ```PXR_ENABLE_MALLOCHOOK_SUPPORT``` option.

+ +

+ +```bash

+ +-DPXR_ENABLE_MALLOCHOOK_SUPPORT=OFF

+ +```

+ +

+  ## Linker Options

+  

+  There are four ways to link USD controlled by the following options:

+ diff --git a/build_scripts/build_usd.py b/build_scripts/build_usd.py

+ index b00449266f..d45ade2152 100644

+ --- a/build_scripts/build_usd.py

+ +++ b/build_scripts/build_usd.py

+ @@ -351,6 +351,10 @@ def AppendCXX11ABIArg(buildFlag, context, buildArgs):

+      buildArgs.append('{flag}="{flags}"'.format(

+          flag=buildFlag, flags=" ".join(cxxFlags)))

+  

+ +def AppendEnableMallocHookArg(buildFlag, context, buildArgs):

+ +    if context.enableMallocHook is None:

+ +        return

+ +

+  def FormatMultiProcs(numJobs, generator):

+      tag = "-j"

+      if generator:

+ @@ -1559,6 +1563,10 @@ def InstallUSD(context, force, buildArgs):

+          else:

+              extraArgs.append('-DPXR_ENABLE_MATERIALX_SUPPORT=OFF')

+  

+ +        if context.enableMallocHook is not None:

+ +            support = 'ON' if context.enableMallocHook else 'OFF'

+ +            extraArgs.append('-DPXR_ENABLE_MALLOCHOOK_SUPPORT={}'.format(support))

+ +

+          if Windows():

+              # Increase the precompiled header buffer limit.

+              extraArgs.append('-DCMAKE_CXX_FLAGS="/Zm150"')

+ @@ -1696,6 +1704,8 @@ def InstallUSD(context, force, buildArgs):

+  if Linux():

+      group.add_argument("--use-cxx11-abi", type=int, choices=[0, 1],

+                         help=("Use C++11 ABI for libstdc++. (see docs above)"))

+ +    group.add_argument("--enable-malloc-hook", type=int, choices=[0, 1],

+ +                       help=("Enable specifying memory allocators on Linux with PXR_MALLOC_LIBRARY"))

+  

+  group = parser.add_argument_group(title="3rd Party Dependency Build Options")

+  group.add_argument("--src", type=str,

+ @@ -1941,6 +1951,8 @@ def __init__(self, args):

+          # Build options

+          self.useCXX11ABI = \

+              (args.use_cxx11_abi if hasattr(args, "use_cxx11_abi") else None)

+ +        self.enableMallocHook = \

+ +            (args.enable_malloc_hook if hasattr(args, "enable_malloc_hook") else None)

+          self.safetyFirst = args.safety_first

+  

+          # Dependencies that are forced to be built

+ @@ -2193,6 +2205,11 @@ def _JoinVersion(v):

+      Use C++11 ABI               {useCXX11ABI}

+  """

+  

+ +if context.enableMallocHook is not None:

+ +    summaryMsg += """\

+ +    Enable malloc hook          {enableMallocHook}

+ +"""

+ +

+  summaryMsg += """\

+      Variant                     {buildVariant}

+      Imaging                     {buildImaging}

+ @@ -2247,6 +2264,7 @@ def FormatBuildArguments(buildArgs):

+                    ", ".join([d.name for d in dependenciesToBuild])),

+      buildArgs=FormatBuildArguments(context.buildArgs),

+      useCXX11ABI=("On" if context.useCXX11ABI else "Off"),

+ +    enableMallocHook=("On" if context.enableMallocHook else "Off"),

+      buildType=("Shared libraries" if context.buildShared

+                 else "Monolithic shared library" if context.buildMonolithic

+                 else ""),

+ diff --git a/cmake/defaults/Options.cmake b/cmake/defaults/Options.cmake

+ index f6a8fd8741..fc7b344d36 100644

+ --- a/cmake/defaults/Options.cmake

+ +++ b/cmake/defaults/Options.cmake

+ @@ -51,6 +51,7 @@ option(PXR_PREFER_SAFETY_OVER_SPEED

+         "Enable certain checks designed to avoid crashes or out-of-bounds memory reads with malformed input files.  These checks may negatively impact performance."

+          ON)

+  option(PXR_USE_AR_2 "Use Asset Resolver (Ar) 2.0" ON)

+ +option(PXR_ENABLE_MALLOCHOOK_SUPPORT "Enable Arch malloc hooks" ON)

+  

+  # Determine GFX api

+  # Metal only valid on Apple platforms

+ diff --git a/pxr/base/arch/CMakeLists.txt b/pxr/base/arch/CMakeLists.txt

+ index 97be26e83c..ca24bc767e 100644

+ --- a/pxr/base/arch/CMakeLists.txt

+ +++ b/pxr/base/arch/CMakeLists.txt

+ @@ -59,6 +59,11 @@ pxr_library(arch

+      DOXYGEN_FILES

+          overview.dox

+  )

+ +if (PXR_ENABLE_MALLOCHOOK_SUPPORT)

+ +    target_compile_definitions(arch

+ +        PRIVATE target_compile_definition ARCH_MALLOC_HOOK

+ +    )

+ +endif()

+  

+  pxr_build_test_shared_lib(testArchAbiPlugin

+      CPPFILES

+ diff --git a/pxr/base/arch/mallocHook.cpp b/pxr/base/arch/mallocHook.cpp

+ index b68a31afb3..338263388f 100644

+ --- a/pxr/base/arch/mallocHook.cpp

+ +++ b/pxr/base/arch/mallocHook.cpp

+ @@ -28,7 +28,7 @@

+  #include "pxr/base/arch/defines.h"

+  #include "pxr/base/arch/env.h"

+  

+ -#if !defined(ARCH_OS_WINDOWS)

+ +#if defined(ARCH_MALLOC_HOOK) && !defined(ARCH_OS_WINDOWS)

+  #   include <dlfcn.h>

+  #endif

+  #include <cstring>

+ @@ -88,7 +88,7 @@ static bool

+  _MallocProvidedBySameLibraryAs(const char* functionName,

+                                 bool skipMallocCheck)

+  {

+ -#if !defined(ARCH_OS_WINDOWS)

+ +#if defined(ARCH_MALLOC_HOOK) && !defined(ARCH_OS_WINDOWS)

+      const void* function = dlsym(RTLD_DEFAULT, functionName);

+      if (!function) {

+          return false;

+ @@ -151,8 +151,9 @@ ArchIsJemallocActive()

+  bool

+  ArchIsStlAllocatorOff()

+  {

+ -#if defined(ARCH_COMPILER_GCC) || defined(ARCH_COMPILER_ICC) || \

+ -    defined(ARCH_COMPILER_CLANG)

+ +#if defined(ARCH_MALLOC_HOOK) && \

+ +    (defined(ARCH_COMPILER_GCC) || defined(ARCH_COMPILER_ICC) || \

+ +    defined(ARCH_COMPILER_CLANG))

+      // I'm assuming that ICC compiles will use the gcc STL library.

+  

+      /*

+ @@ -177,7 +178,7 @@ ArchMallocHook::IsInitialized()

+         _underlyingMemalignFunc || _underlyingFreeFunc;

+  }

+  

+ -#if defined(ARCH_OS_LINUX)

+ +#if defined(ARCH_MALLOC_HOOK) && defined(ARCH_OS_LINUX)

+  template <typename T>

+  static bool _GetSymbol(T* addr, const char* name, string* errMsg) {

+      if (void* symbol = dlsym(RTLD_DEFAULT, name)) {

+ @@ -241,8 +242,12 @@ ArchMallocHook::Initialize(

+      ARCH_UNUSED_ARG void  (*freeWrapper)(void*, const void*),

+      string* errMsg)

+  {

+ -#if !defined(ARCH_OS_LINUX)

+ +#if !defined(ARCH_MALLOC_HOOK) || !defined(ARCH_OS_LINUX)

+ +    #if !defined(ARCH_MALLOC_HOOK)

+ +    *errMsg = "ArchMallocHook functionality deactivated at build time";

+ +    #else

+      *errMsg = "ArchMallocHook functionality not implemented for non-linux systems";

+ +    #endif

+      return false;

+  #else

+      if (IsInitialized()) {

USD-22.05-OpenEXR3.patch USD-21.08-OpenEXR3.patch
file renamed
+20 -20
@@ -1,6 +1,6 @@ 

- diff -Naur USD-21.08-original/cmake/defaults/Packages.cmake USD-21.08/cmake/defaults/Packages.cmake

- --- USD-21.08-original/cmake/defaults/Packages.cmake	2021-07-15 02:00:41.000000000 -0400

- +++ USD-21.08/cmake/defaults/Packages.cmake	2021-08-10 10:41:05.317624337 -0400

+ diff -Naur USD-22.05-original/cmake/defaults/Packages.cmake USD-22.05/cmake/defaults/Packages.cmake

+ --- USD-22.05-original/cmake/defaults/Packages.cmake	2022-04-22 14:48:13.000000000 -0400

+ +++ USD-22.05/cmake/defaults/Packages.cmake	2022-05-24 18:51:26.406485870 -0400

  @@ -188,6 +188,7 @@

       # --OpenImageIO

       if (PXR_BUILD_OPENIMAGEIO_PLUGIN)
@@ -8,8 +8,8 @@ 

  +	find_package(Imath REQUIRED)

           find_package(OpenImageIO REQUIRED)

           add_definitions(-DPXR_OIIO_PLUGIN_ENABLED)

-      endif()

- @@ -254,7 +255,7 @@

+          if (OIIO_idiff_BINARY)

+ @@ -256,7 +257,7 @@

       endif()

       # --OpenVDB

       if (PXR_ENABLE_OPENVDB_SUPPORT)
@@ -18,7 +18,7 @@ 

           find_package(OpenVDB REQUIRED)

           add_definitions(-DPXR_OPENVDB_SUPPORT_ENABLED)

       endif()

- @@ -283,7 +284,7 @@

+ @@ -285,7 +286,7 @@

   

   if (PXR_BUILD_ALEMBIC_PLUGIN)

       find_package(Alembic REQUIRED)
@@ -27,7 +27,7 @@ 

       if (PXR_ENABLE_HDF5_SUPPORT)

           find_package(HDF5 REQUIRED

               COMPONENTS

- @@ -305,6 +306,7 @@

+ @@ -307,6 +308,7 @@

   if(PXR_ENABLE_OSL_SUPPORT)

       find_package(OSL REQUIRED)

       find_package(OpenEXR REQUIRED)
@@ -35,9 +35,9 @@ 

       add_definitions(-DPXR_OSL_SUPPORT_ENABLED)

   endif()

   

- diff -Naur USD-21.08-original/cmake/modules/FindOpenEXR.cmake USD-21.08/cmake/modules/FindOpenEXR.cmake

- --- USD-21.08-original/cmake/modules/FindOpenEXR.cmake	2021-07-15 02:00:41.000000000 -0400

- +++ USD-21.08/cmake/modules/FindOpenEXR.cmake	1969-12-31 19:00:00.000000000 -0500

+ diff -Naur USD-22.05-original/cmake/modules/FindOpenEXR.cmake USD-22.05/cmake/modules/FindOpenEXR.cmake

+ --- USD-22.05-original/cmake/modules/FindOpenEXR.cmake	2022-04-22 14:48:13.000000000 -0400

+ +++ USD-22.05/cmake/modules/FindOpenEXR.cmake	1969-12-31 19:00:00.000000000 -0500

  @@ -1,101 +0,0 @@

  -#

  -# Copyright 2016 Pixar
@@ -140,9 +140,9 @@ 

  -        OPENEXR_VERSION

  -)

  -

- diff -Naur USD-21.08-original/pxr/imaging/hioOpenVDB/CMakeLists.txt USD-21.08/pxr/imaging/hioOpenVDB/CMakeLists.txt

- --- USD-21.08-original/pxr/imaging/hioOpenVDB/CMakeLists.txt	2021-07-15 02:00:41.000000000 -0400

- +++ USD-21.08/pxr/imaging/hioOpenVDB/CMakeLists.txt	2021-08-10 10:39:27.478207730 -0400

+ diff -Naur USD-22.05-original/pxr/imaging/hioOpenVDB/CMakeLists.txt USD-22.05/pxr/imaging/hioOpenVDB/CMakeLists.txt

+ --- USD-22.05-original/pxr/imaging/hioOpenVDB/CMakeLists.txt	2022-04-22 14:48:13.000000000 -0400

+ +++ USD-22.05/pxr/imaging/hioOpenVDB/CMakeLists.txt	2022-05-24 18:51:26.407485884 -0400

  @@ -14,7 +14,7 @@

           hio

           tf
@@ -152,10 +152,10 @@ 

           ${OPENVDB_LIBRARY}

   

       INCLUDE_DIRS

- diff -Naur USD-21.08-original/pxr/imaging/plugin/hioOiio/CMakeLists.txt USD-21.08/pxr/imaging/plugin/hioOiio/CMakeLists.txt

- --- USD-21.08-original/pxr/imaging/plugin/hioOiio/CMakeLists.txt	2021-07-15 02:00:41.000000000 -0400

- +++ USD-21.08/pxr/imaging/plugin/hioOiio/CMakeLists.txt	2021-08-10 10:39:31.578183423 -0400

- @@ -17,6 +17,7 @@

+ diff -Naur USD-22.05-original/pxr/imaging/plugin/hioOiio/CMakeLists.txt USD-22.05/pxr/imaging/plugin/hioOiio/CMakeLists.txt

+ --- USD-22.05-original/pxr/imaging/plugin/hioOiio/CMakeLists.txt	2022-04-22 14:48:13.000000000 -0400

+ +++ USD-22.05/pxr/imaging/plugin/hioOiio/CMakeLists.txt	2022-05-24 18:51:26.407485884 -0400

+ @@ -16,6 +16,7 @@

           tf

           ${OIIO_LIBRARIES}

           ${OPENEXR_LIBRARIES}
@@ -163,9 +163,9 @@ 

   

       INCLUDE_DIRS

           ${OIIO_INCLUDE_DIRS}

- diff -Naur USD-21.08-original/pxr/usd/plugin/usdAbc/CMakeLists.txt USD-21.08/pxr/usd/plugin/usdAbc/CMakeLists.txt

- --- USD-21.08-original/pxr/usd/plugin/usdAbc/CMakeLists.txt	2021-07-15 02:00:41.000000000 -0400

- +++ USD-21.08/pxr/usd/plugin/usdAbc/CMakeLists.txt	2021-08-10 11:55:33.840880041 -0400

+ diff -Naur USD-22.05-original/pxr/usd/plugin/usdAbc/CMakeLists.txt USD-22.05/pxr/usd/plugin/usdAbc/CMakeLists.txt

+ --- USD-22.05-original/pxr/usd/plugin/usdAbc/CMakeLists.txt	2022-04-22 14:48:13.000000000 -0400

+ +++ USD-22.05/pxr/usd/plugin/usdAbc/CMakeLists.txt	2022-05-24 18:51:26.407485884 -0400

  @@ -23,15 +23,12 @@

           usd

           usdGeom

USD-22.05-soversion.patch USD-22.03-soversion.patch
file renamed
+11 -11
@@ -1,8 +1,8 @@ 

- diff -Naur USD-22.03-original/cmake/defaults/Version.cmake USD-22.03/cmake/defaults/Version.cmake

- --- USD-22.03-original/cmake/defaults/Version.cmake	2022-02-18 16:49:09.000000000 -0500

- +++ USD-22.03/cmake/defaults/Version.cmake	2022-03-30 08:25:52.278316816 -0400

+ diff -Naur USD-22.05-original/cmake/defaults/Version.cmake USD-22.05/cmake/defaults/Version.cmake

+ --- USD-22.05-original/cmake/defaults/Version.cmake	2022-04-22 14:48:13.000000000 -0400

+ +++ USD-22.05/cmake/defaults/Version.cmake	2022-05-24 18:49:29.199851843 -0400

  @@ -27,3 +27,9 @@

-  set(PXR_PATCH_VERSION "3")

+  set(PXR_PATCH_VERSION "5")

   

   math(EXPR PXR_VERSION "${PXR_MAJOR_VERSION} * 10000 + ${PXR_MINOR_VERSION} * 100 + ${PXR_PATCH_VERSION}")

  +
@@ -11,9 +11,9 @@ 

  +    STRING

  +    "Downstream shared object version"

  +)

- diff -Naur USD-22.03-original/cmake/macros/Private.cmake USD-22.03/cmake/macros/Private.cmake

- --- USD-22.03-original/cmake/macros/Private.cmake	2022-02-18 16:49:09.000000000 -0500

- +++ USD-22.03/cmake/macros/Private.cmake	2022-03-30 08:25:52.279316828 -0400

+ diff -Naur USD-22.05-original/cmake/macros/Private.cmake USD-22.05/cmake/macros/Private.cmake

+ --- USD-22.05-original/cmake/macros/Private.cmake	2022-04-22 14:48:13.000000000 -0400

+ +++ USD-22.05/cmake/macros/Private.cmake	2022-05-24 18:49:29.200851859 -0400

  @@ -1285,6 +1285,7 @@

               PREFIX "${args_PREFIX}"

               SUFFIX "${args_SUFFIX}"
@@ -22,10 +22,10 @@ 

       )

   

       set(pythonEnabled "PXR_PYTHON_ENABLED=1")

- diff -Naur USD-22.03-original/cmake/macros/Public.cmake USD-22.03/cmake/macros/Public.cmake

- --- USD-22.03-original/cmake/macros/Public.cmake	2022-02-18 16:49:09.000000000 -0500

- +++ USD-22.03/cmake/macros/Public.cmake	2022-03-30 08:25:52.279316828 -0400

- @@ -939,6 +939,7 @@

+ diff -Naur USD-22.05-original/cmake/macros/Public.cmake USD-22.05/cmake/macros/Public.cmake

+ --- USD-22.05-original/cmake/macros/Public.cmake	2022-04-22 14:48:13.000000000 -0400

+ +++ USD-22.05/cmake/macros/Public.cmake	2022-05-24 18:49:29.201851876 -0400

+ @@ -998,6 +998,7 @@

                       FOLDER "${folder}"

                       PREFIX "${PXR_LIB_PREFIX}"

                       IMPORT_PREFIX "${PXR_LIB_PREFIX}"

file modified
+1 -1
@@ -1,1 +1,1 @@ 

- SHA512 (usd-22.03.tar.gz) = eb0d789b5e8db611f69ed61894a00f9e9131feff26c056eb9617f52a470b4477108013a0485b7f01c84b8a31a463149a2d511e6d0c8994e3377fd59b0719d031

+ SHA512 (usd-22.05a.tar.gz) = afec40a2249fb1f18fcba3349ca8de08631564d8a832488207a5a2ac39246463143a57ef42f08085dd718dbd7a81d2adda78e8ef8c5893b675e4c493f9ca79c4

file modified
+54 -21
@@ -2,9 +2,8 @@ 

  # package version, as a reminder of the need to rebuild dependent packages on

  # every update. See additional notes near the downstream ABI versioning patch.

  # It should be 0.MAJOR.MINOR without leading zeros, e.g. 22.03 → 0.22.3.

- %global downstream_so_version 0.22.3

+ %global downstream_so_version 0.22.5

  

- %global         srcname  USD

  %bcond_without  alembic

  %bcond_with     documentation

  %bcond_without  embree
@@ -21,7 +20,7 @@ 

  %bcond_with  test

  

  Name:           usd

- Version:        22.03

+ Version:        22.05a

  Release:        %autorelease

  Summary:        3D VFX pipeline interchange file format

  
@@ -35,17 +34,26 @@ 

  # MIT:

  #   - pxr/imaging/garch/khrplatform.h

  #   - pxr/base/js/rapidjson/, except pxr/base/js/rapidjson/msinttypes/

- #   - pxr/base/tf/pyLock.cpp (only some sections; most of the file is

- #     ASL 2.0)

- #   - third_party/renderman-23/plugin/rmanArgsParser/pugixml/

+ #   - third_party/renderman-24/plugin/rmanArgsParser/pugixml/

+ #   - pxr/base/tf/pxrTslRobinMap/

+ #   - pxr/imaging/hgiVulkan/vk_mem_alloc.h

  # MIT or Unlicense:

  #   - pxr/imaging/hio/stb/

  #

  # (Certain build system files are also under licenses other than ASL 2.0, but

  # do not contribute their license terms to the built RPMs.)

+ #

+ # The following files mention GPLv3+, but are distributed under ASL 2.0 due to

+ # the special exception for Bison parser skeletons. See the comments in their

+ # headers for details.

+ #

+ #   - pxr/usd/sdf/path.tab.{cpp,h}

+ #   - pxr/usd/sdf/textFileFormat.tab.{cpp,h}

+ #   - third_party/renderman-24/plugin/hdPrman/virtualStructConditionalGrammar.tab.{cpp,h}

  License:        ASL 2.0 and BSD and MIT and (MIT or Unlicense)

  URL:            http://www.openusd.org/

- Source0:        https://github.com/PixarAnimationStudios/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz

+ %global forgeurl https://github.com/PixarAnimationStudios/%{name}

+ Source0:        %{forgeurl}/archive/v%{version}/%{name}-%{version}.tar.gz

  Source1:        org.open%{name}.%{name}view.desktop

  

  # Upstream was asked about .so versioning and setting SONAME properly and
@@ -72,19 +80,21 @@ 

  # to be versioned as well, which is undesired. This is not a serious problem

  # because we do not want to package the built plugin anyway. (It should not be

  # built with -DPXR_BUILD_EXAMPLES=OFF, but it is.)

- Patch1:         %{srcname}-22.03-soversion.patch

+ Patch:          USD-22.05-soversion.patch

  

+ # Support OpenEXR 3

  # https://github.com/PixarAnimationStudios/USD/issues/1591

- Patch2:         USD-21.08-OpenEXR3.patch

- 

- # USD uses deprecated malloc hooks removed in glibc 2.34

- # https://github.com/PixarAnimationStudios/USD/issues/1592

- # Based on:

- # https://github.com/PixarAnimationStudios/USD/issues/1592#issuecomment-1047152905

- Patch3:         USD-21.11-disable-malloc-hooks.patch

+ #

+ # See also:

+ # Support compiling against imath

+ # https://github.com/PixarAnimationStudios/USD/pull/1829

+ # Support OpenVDB without depending on OpenEXR

+ # https://github.com/PixarAnimationStudios/USD/pull/1728

+ Patch2:         USD-22.05-OpenEXR3.patch

  

- # Backport upstream commit 04dd025 “Fix compilation on GCC11.”

- Patch4:         https://github.com/PixarAnimationStudios/USD/commit/04dd02515d1ee05e26629ba540afc53986ae60e0.patch

+ # Allow building against recent glibc with no malloc hooks (>= 2.34)

+ # https://github.com/PixarAnimationStudios/USD/pull/1830

+ Patch:          %{forgeurl}/pull/1830.patch

  

  # Base

  BuildRequires:  boost-devel
@@ -157,6 +167,9 @@ 

  # This package is only available for x86_64 and aarch64

  # Will fail to build on other architectures

  # https://bugzilla.redhat.com/show_bug.cgi?id=1960848

+ #

+ # Note that pxr/base/arch/assumptions.cpp explicitly tests the machine is not

+ # big-endian, and pxr/base/arch/defines.h explicitly enforces x86_64 or ARM64.

  ExclusiveArch:  aarch64 x86_64

  

  %description
@@ -186,6 +199,9 @@ 

  Provides:       bundled(SPIRV-Reflect) = 1.0

  # Version from: pxr/imaging/hgiVulkan/vk_mem_alloc.h (header comment)

  Provides:       bundled(VulkanMemoryAllocator) = 3.0.0~development

+ # Forked from an unknown version:

+ # pxr/base/tf/pxrTslRobinMap/

+ Provides:       bundled(robin-map)

  

  %description libs

  Universal Scene Description (USD) is an efficient, scalable system for
@@ -236,7 +252,7 @@ 

  %endif

  

  %prep

- %autosetup -p1 -n %{srcname}-%{version}

+ %autosetup -p1 -n USD-%{version}

  

  # Convert NOTICE.txt from CRNL line encoding

  dos2unix NOTICE.txt
@@ -348,7 +364,8 @@ 

  %else

       -DPXR_ENABLE_PYTHON_SUPPORT=OFF \

  %endif

-      -DPXR_BUILD_MONOLITHIC=ON

+      -DPXR_BUILD_MONOLITHIC=ON \

+      -DPXR_ENABLE_MALLOCHOOK_SUPPORT=OFF

  %cmake_build

  

  %install
@@ -387,12 +404,28 @@ 

  

  %files

  %doc NOTICE.txt README.md

- %{_bindir}/*

+ %{_bindir}/sdfdump

+ %{_bindir}/sdffilter

+ %{_bindir}/usdGenSchema

+ %{_bindir}/usdcat

+ %{_bindir}/usdchecker

+ %{_bindir}/usddiff

+ %{_bindir}/usddumpcrate

+ %{_bindir}/usdedit

+ %{_bindir}/usdgenschemafromsdr

+ %{_bindir}/usdrecord

+ %{_bindir}/usdresolve

+ %{_bindir}/usdstitch

+ %{_bindir}/usdstitchclips

+ %{_bindir}/usdtree

+ %{_bindir}/usdzip

  

  %if %{with python3}

  %files -n python3-%{name}

- %{_datadir}/applications/org.open%{name}.%{name}view.desktop

  %{python3_sitearch}/pxr

+ %{_datadir}/applications/org.open%{name}.%{name}view.desktop

+ %{_bindir}/testusdview

+ %{_bindir}/usdview

  %endif

  

  %files libs

Completed:

  • Announce .so version bump on the devel mailing list with one week’s notice
    Merge and build no earlier than 2022-06-01.
  • Verify compatibility with dependent packages (just blender, as far as I can tell)
    COPR builds
  • Additional reviewing of package contents and changes

rebased onto 44ccb11

2 years ago

This "a" in version is not "alpha" by any chance?

rebased onto 351f43e

2 years ago

This "a" in version is not "alpha" by any chance?

You might guess that, right? But this is a post-release for 22.05, not a pre-release. They just have an unusual convention for compatible patch-releases, in which they have a calendar-based YY.MM version, and then they tack on a letter if they need to fix something. As far as I can tell, it’s only happened once before.

rebased onto f90e04f

2 years ago

rebased onto d17b668

2 years ago

This is now ready to merge on 2022-06-01 or later.

Setting a reminder of chain build with the dependent package ptex:
https://src.fedoraproject.org/rpms/ptex/commits/rawhide

Opened side tag f37-build-side-54301. Built ptex. Now proceeding with usd and blender.

Pull-Request has been merged by music

2 years ago

Openxr 1.0.23 is pushed on rawhide branch. The impact on blender is low due to its minor release.

Openxr 1.0.23 is pushed on rawhide branch. The impact on blender is low due to its minor release.

Thanks! Looks like it should be ABI-compatible based on the unchanged .so version, so unless you specifically suggest an additional Blender rebuild I won’t plan to do one.

It sounds good. Let's build openxr for all branches without the need to rebuild Blender.