Compare commits
20 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c7ee7db80b | ||
|
|
90bb66f821 | ||
|
|
084872b62c | ||
|
|
145487ddf1 | ||
|
|
5ff2acbf1b | ||
|
|
244bffe4e6 | ||
|
|
f8e3dafaac | ||
|
|
73336472bf | ||
|
|
c54ae0b451 | ||
|
|
55f4734f33 | ||
|
|
0e192c5c63 | ||
|
|
f0cc08bac8 | ||
|
|
72c3d34dac | ||
|
|
6708320517 | ||
|
|
3bd2fd5d8f | ||
|
|
ccf37b0ee2 | ||
|
|
21e907dd81 | ||
|
|
fec1893bb0 | ||
|
|
775ace7568 | ||
|
|
5084bed9de |
2 changed files with 305 additions and 62 deletions
155
stb_image.patch
Normal file
155
stb_image.patch
Normal file
|
|
@ -0,0 +1,155 @@
|
||||||
|
--- stb/stb_image.h 2021-09-16 11:52:38.284782000 -0700k
|
||||||
|
+++ stb_image.h 2021-09-16 13:45:48.159770000 -0700
|
||||||
|
@@ -488,14 +488,14 @@
|
||||||
|
STBIDEF void stbi_image_free (void *retval_from_stbi_load);
|
||||||
|
|
||||||
|
// get image dimensions & components without fully decoding
|
||||||
|
-STBIDEF int stbi_info_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *comp);
|
||||||
|
-STBIDEF int stbi_info_from_callbacks(stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *comp);
|
||||||
|
+STBIDEF int stbi_info_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *comp, float *gamma);
|
||||||
|
+STBIDEF int stbi_info_from_callbacks(stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *comp, float *gamma);
|
||||||
|
STBIDEF int stbi_is_16_bit_from_memory(stbi_uc const *buffer, int len);
|
||||||
|
STBIDEF int stbi_is_16_bit_from_callbacks(stbi_io_callbacks const *clbk, void *user);
|
||||||
|
|
||||||
|
#ifndef STBI_NO_STDIO
|
||||||
|
-STBIDEF int stbi_info (char const *filename, int *x, int *y, int *comp);
|
||||||
|
-STBIDEF int stbi_info_from_file (FILE *f, int *x, int *y, int *comp);
|
||||||
|
+STBIDEF int stbi_info (char const *filename, int *x, int *y, int *comp, float *gamma);
|
||||||
|
+STBIDEF int stbi_info_from_file (FILE *f, int *x, int *y, int *comp, float *gamma);
|
||||||
|
STBIDEF int stbi_is_16_bit (char const *filename);
|
||||||
|
STBIDEF int stbi_is_16_bit_from_file(FILE *f);
|
||||||
|
#endif
|
||||||
|
@@ -911,7 +911,7 @@
|
||||||
|
#ifndef STBI_NO_PNG
|
||||||
|
static int stbi__png_test(stbi__context *s);
|
||||||
|
static void *stbi__png_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri);
|
||||||
|
-static int stbi__png_info(stbi__context *s, int *x, int *y, int *comp);
|
||||||
|
+static int stbi__png_info(stbi__context *s, int *x, int *y, int *comp, float *gamma);
|
||||||
|
static int stbi__png_is16(stbi__context *s);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
@@ -4554,6 +4554,7 @@
|
||||||
|
stbi__context *s;
|
||||||
|
stbi_uc *idata, *expanded, *out;
|
||||||
|
int depth;
|
||||||
|
+ float gamma = 0;
|
||||||
|
} stbi__png;
|
||||||
|
|
||||||
|
|
||||||
|
@@ -5112,6 +5113,13 @@
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ case STBI__PNG_TYPE('g','A','M','A'): {
|
||||||
|
+ if (first) return stbi__err("first not IHDR", "Corrupt PNG");
|
||||||
|
+ if (4 != c.length) return stbi__err("invalid gAMA","Corrupt PNG");
|
||||||
|
+ z->gamma = stbi__get32be(s) / 100000.0f;
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
case STBI__PNG_TYPE('I','D','A','T'): {
|
||||||
|
if (first) return stbi__err("first not IHDR", "Corrupt PNG");
|
||||||
|
if (pal_img_n && !pal_len) return stbi__err("no PLTE","Corrupt PNG");
|
||||||
|
@@ -5243,7 +5251,7 @@
|
||||||
|
return r;
|
||||||
|
}
|
||||||
|
|
||||||
|
-static int stbi__png_info_raw(stbi__png *p, int *x, int *y, int *comp)
|
||||||
|
+static int stbi__png_info_raw(stbi__png *p, int *x, int *y, int *comp, float *gamma)
|
||||||
|
{
|
||||||
|
if (!stbi__parse_png_file(p, STBI__SCAN_header, 0)) {
|
||||||
|
stbi__rewind( p->s );
|
||||||
|
@@ -5252,21 +5260,22 @@
|
||||||
|
if (x) *x = p->s->img_x;
|
||||||
|
if (y) *y = p->s->img_y;
|
||||||
|
if (comp) *comp = p->s->img_n;
|
||||||
|
+ if (gamma) *gamma = p->gamma;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
-static int stbi__png_info(stbi__context *s, int *x, int *y, int *comp)
|
||||||
|
+static int stbi__png_info(stbi__context *s, int *x, int *y, int *comp, float *gamma)
|
||||||
|
{
|
||||||
|
stbi__png p;
|
||||||
|
p.s = s;
|
||||||
|
- return stbi__png_info_raw(&p, x, y, comp);
|
||||||
|
+ return stbi__png_info_raw(&p, x, y, comp, gamma);
|
||||||
|
}
|
||||||
|
|
||||||
|
static int stbi__png_is16(stbi__context *s)
|
||||||
|
{
|
||||||
|
stbi__png p;
|
||||||
|
p.s = s;
|
||||||
|
- if (!stbi__png_info_raw(&p, NULL, NULL, NULL))
|
||||||
|
+ if (!stbi__png_info_raw(&p, NULL, NULL, NULL, NULL))
|
||||||
|
return 0;
|
||||||
|
if (p.depth != 16) {
|
||||||
|
stbi__rewind(p.s);
|
||||||
|
@@ -7538,14 +7547,14 @@
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
-static int stbi__info_main(stbi__context *s, int *x, int *y, int *comp)
|
||||||
|
+static int stbi__info_main(stbi__context *s, int *x, int *y, int *comp, float *gamma)
|
||||||
|
{
|
||||||
|
#ifndef STBI_NO_JPEG
|
||||||
|
if (stbi__jpeg_info(s, x, y, comp)) return 1;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef STBI_NO_PNG
|
||||||
|
- if (stbi__png_info(s, x, y, comp)) return 1;
|
||||||
|
+ if (stbi__png_info(s, x, y, comp, gamma)) return 1;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef STBI_NO_GIF
|
||||||
|
@@ -7597,23 +7606,23 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifndef STBI_NO_STDIO
|
||||||
|
-STBIDEF int stbi_info(char const *filename, int *x, int *y, int *comp)
|
||||||
|
+STBIDEF int stbi_info(char const *filename, int *x, int *y, int *comp, float *gamma)
|
||||||
|
{
|
||||||
|
FILE *f = stbi__fopen(filename, "rb");
|
||||||
|
int result;
|
||||||
|
if (!f) return stbi__err("can't fopen", "Unable to open file");
|
||||||
|
- result = stbi_info_from_file(f, x, y, comp);
|
||||||
|
+ result = stbi_info_from_file(f, x, y, comp, gamma);
|
||||||
|
fclose(f);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
-STBIDEF int stbi_info_from_file(FILE *f, int *x, int *y, int *comp)
|
||||||
|
+STBIDEF int stbi_info_from_file(FILE *f, int *x, int *y, int *comp, float *gamma)
|
||||||
|
{
|
||||||
|
int r;
|
||||||
|
stbi__context s;
|
||||||
|
long pos = ftell(f);
|
||||||
|
stbi__start_file(&s, f);
|
||||||
|
- r = stbi__info_main(&s,x,y,comp);
|
||||||
|
+ r = stbi__info_main(&s,x,y,comp, gamma);
|
||||||
|
fseek(f,pos,SEEK_SET);
|
||||||
|
return r;
|
||||||
|
}
|
||||||
|
@@ -7640,18 +7649,18 @@
|
||||||
|
}
|
||||||
|
#endif // !STBI_NO_STDIO
|
||||||
|
|
||||||
|
-STBIDEF int stbi_info_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *comp)
|
||||||
|
+STBIDEF int stbi_info_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *comp, float *gamma)
|
||||||
|
{
|
||||||
|
stbi__context s;
|
||||||
|
stbi__start_mem(&s,buffer,len);
|
||||||
|
- return stbi__info_main(&s,x,y,comp);
|
||||||
|
+ return stbi__info_main(&s,x,y,comp, gamma);
|
||||||
|
}
|
||||||
|
|
||||||
|
-STBIDEF int stbi_info_from_callbacks(stbi_io_callbacks const *c, void *user, int *x, int *y, int *comp)
|
||||||
|
+STBIDEF int stbi_info_from_callbacks(stbi_io_callbacks const *c, void *user, int *x, int *y, int *comp, float *gamma)
|
||||||
|
{
|
||||||
|
stbi__context s;
|
||||||
|
stbi__start_callbacks(&s, (stbi_io_callbacks *) c, user);
|
||||||
|
- return stbi__info_main(&s,x,y,comp);
|
||||||
|
+ return stbi__info_main(&s,x,y,comp, gamma);
|
||||||
|
}
|
||||||
|
|
||||||
|
STBIDEF int stbi_is_16_bit_from_memory(stbi_uc const *buffer, int len)
|
||||||
212
usd.spec
212
usd.spec
|
|
@ -6,14 +6,14 @@
|
||||||
|
|
||||||
%bcond_without alembic
|
%bcond_without alembic
|
||||||
%bcond_with documentation
|
%bcond_with documentation
|
||||||
|
%bcond_without draco
|
||||||
%bcond_without embree
|
%bcond_without embree
|
||||||
%bcond_without imaging
|
%bcond_without imaging
|
||||||
%bcond_with jemalloc
|
%bcond_with jemalloc
|
||||||
%bcond_with openshading
|
%bcond_without openshading
|
||||||
%bcond_with openvdb
|
%bcond_without openvdb
|
||||||
%bcond_without ocio
|
%bcond_without ocio
|
||||||
%bcond_without oiio
|
%bcond_without oiio
|
||||||
%bcond_without python3
|
|
||||||
%bcond_without usdview
|
%bcond_without usdview
|
||||||
# TODO: Figure out how to re-enable the tests. Currently these want to install
|
# TODO: Figure out how to re-enable the tests. Currently these want to install
|
||||||
# into /usr/tests and, and there are issues with the launchers finding the
|
# into /usr/tests and, and there are issues with the launchers finding the
|
||||||
|
|
@ -25,12 +25,15 @@ Version: 22.05b
|
||||||
Release: %autorelease -b 9
|
Release: %autorelease -b 9
|
||||||
Summary: 3D VFX pipeline interchange file format
|
Summary: 3D VFX pipeline interchange file format
|
||||||
|
|
||||||
# The entire source is ASL 2.0 except:
|
# The entire source is Pixar except:
|
||||||
#
|
#
|
||||||
# BSD:
|
# Apache-2.0:
|
||||||
|
# - pxr/imaging/hgiVulkan/spirv_reflect.{cpp,h}
|
||||||
|
# BSD-3-Clause:
|
||||||
# - pxr/base/gf/ilmbase_*
|
# - pxr/base/gf/ilmbase_*
|
||||||
# - pxr/base/js/rapidjson/msinttypes/
|
# - pxr/base/js/rapidjson/msinttypes/
|
||||||
# - pxr/base/tf/pxrDoubleConversion/
|
# - pxr/base/tf/pxrDoubleConversion/
|
||||||
|
# BSD-2-Clause:
|
||||||
# - pxr/base/tf/pxrLZ4/
|
# - pxr/base/tf/pxrLZ4/
|
||||||
# MIT:
|
# MIT:
|
||||||
# - pxr/imaging/garch/khrplatform.h
|
# - pxr/imaging/garch/khrplatform.h
|
||||||
|
|
@ -38,24 +41,45 @@ Summary: 3D VFX pipeline interchange file format
|
||||||
# - third_party/renderman-24/plugin/rmanArgsParser/pugixml/
|
# - third_party/renderman-24/plugin/rmanArgsParser/pugixml/
|
||||||
# - pxr/base/tf/pxrTslRobinMap/
|
# - pxr/base/tf/pxrTslRobinMap/
|
||||||
# - pxr/imaging/hgiVulkan/vk_mem_alloc.h
|
# - pxr/imaging/hgiVulkan/vk_mem_alloc.h
|
||||||
# MIT or Unlicense:
|
# MIT OR Unlicense:
|
||||||
# - pxr/imaging/hio/stb/
|
# - pxr/imaging/hio/stb/
|
||||||
#
|
# Pixar AND GPL-3.0-or-later WITH Bison-exception-2.2:
|
||||||
# (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/path.tab.{cpp,h}
|
||||||
# - pxr/usd/sdf/textFileFormat.tab.{cpp,h}
|
# - pxr/usd/sdf/textFileFormat.tab.{cpp,h}
|
||||||
# - third_party/renderman-24/plugin/hdPrman/virtualStructConditionalGrammar.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)
|
#
|
||||||
|
# Additionally, the following would be listed above but are removed in %%prep:
|
||||||
|
#
|
||||||
|
# Apache-2.0:
|
||||||
|
# - pxr/usdImaging/usdviewq/fonts/Roboto_Mono/
|
||||||
|
# - pxr/usdImaging/usdviewq/fonts/Roboto/
|
||||||
|
# MIT:
|
||||||
|
# - docs/doxygen/doxygen-awesome-css/ (except doxygen-awesome-darkmode-toggle.js)
|
||||||
|
# MIT AND Apache-2.0:
|
||||||
|
# - docs/doxygen/doxygen-awesome-css/doxygen-awesome-darkmode-toggle.js
|
||||||
|
#
|
||||||
|
# (Certain build system files are also under licenses other than Apache-2.0, but
|
||||||
|
# do not contribute their license terms to the built RPMs.)
|
||||||
|
License: %{shrink:
|
||||||
|
Pixar AND
|
||||||
|
Apache-2.0 AND
|
||||||
|
BSD-3-Clause AND
|
||||||
|
BSD-2-Clause AND
|
||||||
|
MIT AND
|
||||||
|
(MIT OR Unlicense) AND
|
||||||
|
(Pixar AND GPL-3.0-or-later WITH Bison-exception-2.2)
|
||||||
|
}
|
||||||
URL: http://www.openusd.org/
|
URL: http://www.openusd.org/
|
||||||
%global forgeurl https://github.com/PixarAnimationStudios/%{name}
|
%global forgeurl https://github.com/PixarAnimationStudios/%{name}
|
||||||
Source0: %{forgeurl}/archive/v%{version}/%{name}-%{version}.tar.gz
|
Source0: %{forgeurl}/archive/v%{version}/%{name}-%{version}.tar.gz
|
||||||
Source1: org.open%{name}.%{name}view.desktop
|
Source1: org.open%{name}.%{name}view.desktop
|
||||||
|
# Latest stb_image.patch that applies cleanly against 2.27:
|
||||||
|
# %%{forgeurl}/raw/8f9bb9563980b41e7695148b63bf09f7abd38a41/pxr/imaging/hio/stb/stb_image.patch
|
||||||
|
# We treat this as a source file because it is applied separately during
|
||||||
|
# unbundling. It has been hand-edited to apply to 2.28, where
|
||||||
|
# stbi__unpremultiply_on_load_thread is already renamed to
|
||||||
|
# stbi_set_unpremultiply_on_load_thread.
|
||||||
|
Source2: stb_image.patch
|
||||||
|
|
||||||
# Upstream was asked about .so versioning and setting SONAME properly and
|
# Upstream was asked about .so versioning and setting SONAME properly and
|
||||||
# seemed unprepared to handle the request:
|
# seemed unprepared to handle the request:
|
||||||
|
|
@ -105,11 +129,16 @@ Patch: %{forgeurl}/pull/1830.patch
|
||||||
Patch: %{forgeurl}/pull/1928.patch
|
Patch: %{forgeurl}/pull/1928.patch
|
||||||
|
|
||||||
# Base
|
# Base
|
||||||
|
BuildRequires: gcc-c++
|
||||||
|
|
||||||
|
BuildRequires: cmake
|
||||||
|
|
||||||
|
BuildRequires: dos2unix
|
||||||
|
BuildRequires: help2man
|
||||||
|
|
||||||
|
BuildRequires: pkgconfig(blosc)
|
||||||
BuildRequires: boost-devel
|
BuildRequires: boost-devel
|
||||||
BuildRequires: boost-program-options
|
BuildRequires: boost-program-options
|
||||||
BuildRequires: cmake
|
|
||||||
BuildRequires: dos2unix
|
|
||||||
BuildRequires: gcc-c++
|
|
||||||
BuildRequires: pkgconfig(blosc)
|
BuildRequires: pkgconfig(blosc)
|
||||||
BuildRequires: pkgconfig(tbb)
|
BuildRequires: pkgconfig(tbb)
|
||||||
|
|
||||||
|
|
@ -121,6 +150,10 @@ BuildRequires: graphviz
|
||||||
|
|
||||||
# For imaging and usd imaging
|
# For imaging and usd imaging
|
||||||
%if %{with imaging}
|
%if %{with imaging}
|
||||||
|
|
||||||
|
%if %{with draco}
|
||||||
|
BuildRequires: draco-devel
|
||||||
|
%endif
|
||||||
%if %{with embree}
|
%if %{with embree}
|
||||||
BuildRequires: embree-devel
|
BuildRequires: embree-devel
|
||||||
%endif
|
%endif
|
||||||
|
|
@ -143,12 +176,8 @@ BuildRequires: pkgconfig(OpenColorIO) < 2
|
||||||
%if %{with oiio}
|
%if %{with oiio}
|
||||||
BuildRequires: pkgconfig(OpenImageIO)
|
BuildRequires: pkgconfig(OpenImageIO)
|
||||||
%endif
|
%endif
|
||||||
BuildRequires: cmake(OpenEXR)
|
BuildRequires: cmake(OpenEXR) >= 3.0
|
||||||
%if 0%{?fedora} < 35
|
BuildRequires: cmake(Imath) >= 3.0
|
||||||
BuildRequires: pkgconfig(IlmBase) >= 2.0
|
|
||||||
%else
|
|
||||||
BuildRequires: cmake(Imath) >= 2.0
|
|
||||||
%endif
|
|
||||||
BuildRequires: pkgconfig(Ptex)
|
BuildRequires: pkgconfig(Ptex)
|
||||||
%endif
|
%endif
|
||||||
%if %{with alembic}
|
%if %{with alembic}
|
||||||
|
|
@ -158,19 +187,27 @@ BuildRequires: hdf5-devel
|
||||||
|
|
||||||
# Header-only library: -static is for tracking per guidelines
|
# Header-only library: -static is for tracking per guidelines
|
||||||
#
|
#
|
||||||
# stb_image 2.27^20210910gitaf1a5bc-0.2 is the minimum EVR to contain fixes for
|
# Enforce the the minimum EVR to contain fixes for all of:
|
||||||
# all of CVE-2021-28021, CVE-2021-42715, CVE-2021-42716, and CVE-2022-28041.
|
# CVE-2021-28021
|
||||||
BuildRequires: stb_image-devel >= 2.27^20210910gitaf1a5bc-0.2
|
# CVE-2021-42715
|
||||||
|
# CVE-2021-42716
|
||||||
|
# CVE-2022-28041
|
||||||
|
# CVE-2023-43898
|
||||||
|
# CVE-2023-45661
|
||||||
|
# CVE-2023-45662
|
||||||
|
# CVE-2023-45663
|
||||||
|
# CVE-2023-45664
|
||||||
|
# CVE-2023-45666
|
||||||
|
# CVE-2023-45667
|
||||||
|
BuildRequires: stb_image-devel >= 2.28^20231011gitbeebb24-12
|
||||||
BuildRequires: stb_image-static
|
BuildRequires: stb_image-static
|
||||||
BuildRequires: stb_image_write-devel
|
BuildRequires: stb_image_write-devel >= 1.16
|
||||||
BuildRequires: stb_image_write-static
|
BuildRequires: stb_image_write-static
|
||||||
BuildRequires: stb_image_resize-devel
|
BuildRequires: stb_image_resize-devel >= 0.97
|
||||||
BuildRequires: stb_image_resize-static
|
BuildRequires: stb_image_resize-static
|
||||||
|
|
||||||
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
||||||
%if %{with python3}
|
|
||||||
Requires: python3-%{name}%{?_isa} = %{version}-%{release}
|
Requires: python3-%{name}%{?_isa} = %{version}-%{release}
|
||||||
%endif
|
|
||||||
|
|
||||||
# This package is only available for x86_64 and aarch64
|
# This package is only available for x86_64 and aarch64
|
||||||
# Will fail to build on other architectures
|
# Will fail to build on other architectures
|
||||||
|
|
@ -218,7 +255,6 @@ interchange between graphics applications.
|
||||||
|
|
||||||
%package devel
|
%package devel
|
||||||
Summary: Development files for USD
|
Summary: Development files for USD
|
||||||
Requires: cmake-filesystem
|
|
||||||
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
||||||
|
|
||||||
%description devel
|
%description devel
|
||||||
|
|
@ -226,8 +262,7 @@ This package contains the C++ header files and symbolic links to the shared
|
||||||
libraries for %{name}. If you would like to develop programs using %{name},
|
libraries for %{name}. If you would like to develop programs using %{name},
|
||||||
you will need to install %{name}-devel.
|
you will need to install %{name}-devel.
|
||||||
|
|
||||||
# For usdview
|
# For usdview, usdcompress
|
||||||
%if %{with python3}
|
|
||||||
%package -n python3-%{name}
|
%package -n python3-%{name}
|
||||||
Summary: %{summary}
|
Summary: %{summary}
|
||||||
|
|
||||||
|
|
@ -248,11 +283,14 @@ Requires: python3dist(jinja2)
|
||||||
Requires: python3dist(pyside2)
|
Requires: python3dist(pyside2)
|
||||||
%endif
|
%endif
|
||||||
Requires: python3dist(pyopengl)
|
Requires: python3dist(pyopengl)
|
||||||
|
|
||||||
|
Requires: usd-libs%{?_isa} = %{version}-%{release}
|
||||||
|
|
||||||
%py_provides python3-pxr
|
%py_provides python3-pxr
|
||||||
|
|
||||||
%description -n python3-%{name}
|
%description -n python3-%{name}
|
||||||
Python language bindings for the Universal Scene Description (USD) C++ API
|
Python language bindings for the Universal Scene Description (USD) C++ API
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{with documentation}
|
%if %{with documentation}
|
||||||
%package doc
|
%package doc
|
||||||
|
|
@ -269,10 +307,8 @@ Documentation for the Universal Scene Description (USD) C++ API
|
||||||
# Convert NOTICE.txt from CRNL line encoding
|
# Convert NOTICE.txt from CRNL line encoding
|
||||||
dos2unix NOTICE.txt
|
dos2unix NOTICE.txt
|
||||||
|
|
||||||
%if %{with python3}
|
|
||||||
# Fix all Python shebangs recursively in .
|
# Fix all Python shebangs recursively in .
|
||||||
%py3_shebang_fix .
|
%py3_shebang_fix .
|
||||||
%endif
|
|
||||||
|
|
||||||
# Further drop shebangs line for some py files
|
# Further drop shebangs line for some py files
|
||||||
sed -r -i '1{/^#!/d}' \
|
sed -r -i '1{/^#!/d}' \
|
||||||
|
|
@ -288,9 +324,10 @@ ln -s %{_datadir}/fonts/google-roboto-mono \
|
||||||
|
|
||||||
# Unbundle stb_image, stb_image_write, stb_image_resize:
|
# Unbundle stb_image, stb_image_write, stb_image_resize:
|
||||||
pushd pxr/imaging/hio/stb
|
pushd pxr/imaging/hio/stb
|
||||||
cp -p %{_includedir}/stb_image.h %{_includedir}/stb_image_write.h .
|
cp -p %{_includedir}/stb_image.h .
|
||||||
cat stb_image.patch stb_image_write.patch | patch -p1
|
patch -p1 < '%{SOURCE2}'
|
||||||
ln -svf %{_includedir}/stb_image_resize.h ./
|
ln -svf %{_includedir}/stb_image_resize.h \
|
||||||
|
%{_includedir}/stb_image_write.h ./
|
||||||
popd
|
popd
|
||||||
|
|
||||||
# Use c++17 standard otherwise build fails
|
# Use c++17 standard otherwise build fails
|
||||||
|
|
@ -312,7 +349,6 @@ sed -i 's|plugin/usd|%{_libdir}/usd/plugin|g' \
|
||||||
# Fix cmake directory destination
|
# Fix cmake directory destination
|
||||||
sed -i 's|"${CMAKE_INSTALL_PREFIX}"|%{_libdir}/cmake/pxr|g' pxr/CMakeLists.txt
|
sed -i 's|"${CMAKE_INSTALL_PREFIX}"|%{_libdir}/cmake/pxr|g' pxr/CMakeLists.txt
|
||||||
|
|
||||||
%build
|
|
||||||
# Fix uic-qt5 use
|
# Fix uic-qt5 use
|
||||||
cat > uic-wrapper <<'EOF'
|
cat > uic-wrapper <<'EOF'
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
@ -320,20 +356,24 @@ exec uic-qt5 -g python "$@"
|
||||||
EOF
|
EOF
|
||||||
chmod +x uic-wrapper
|
chmod +x uic-wrapper
|
||||||
|
|
||||||
# Fix python3 support
|
|
||||||
# https://github.com/PixarAnimationStudios/USD/issues/1419
|
|
||||||
|
|
||||||
flags="%{optflags} -Wl,--as-needed -DTBB_SUPPRESS_DEPRECATED_MESSAGES=1" \
|
%build
|
||||||
# Patch2 was not good enough to get the include path for Imath everywhere it
|
%set_build_flags
|
||||||
# was needed. Add it globally.
|
|
||||||
# https://github.com/PixarAnimationStudios/USD/issues/1591
|
# Although upstream supports OpenEXR3 / Imath now, the necessary include path
|
||||||
flags="${flags} $(pkgconf --cflags Imath)"
|
# is not set everywhere it’s needed. It’s not immediately clear exactly why
|
||||||
|
# this is happening here or what should be changed upstream.
|
||||||
|
extra_flags="${extra_flags-} $(pkgconf --cflags Imath)"
|
||||||
|
# Suppress deprecation warnings from TBB; upstream should act on them
|
||||||
|
# eventually, but they just add noise here.
|
||||||
|
extra_flags="${extra_flags-} -DTBB_SUPPRESS_DEPRECATED_MESSAGES=1"
|
||||||
|
|
||||||
%cmake \
|
%cmake \
|
||||||
-DCMAKE_CXX_FLAGS_RELEASE="${flags}" \
|
-DCMAKE_CXX_FLAGS_RELEASE="${CXXFLAGS-} ${extra_flags}" \
|
||||||
-DCMAKE_C_FLAGS_RELEASE="${flags}" \
|
-DCMAKE_C_FLAGS_RELEASE="${CFLAGS-} ${extra_flags}" \
|
||||||
-DCMAKE_CXX_STANDARD=17 \
|
-DCMAKE_CXX_STANDARD=17 \
|
||||||
-DCMAKE_EXE_LINKER_FLAGS="-pie" \
|
-DCMAKE_EXE_LINKER_FLAGS="${LDFLAGS}" \
|
||||||
|
-DCMAKE_SHARED_LINKER_FLAGS="${LDFLAGS}" \
|
||||||
-DCMAKE_SKIP_RPATH=ON \
|
-DCMAKE_SKIP_RPATH=ON \
|
||||||
-DCMAKE_SKIP_INSTALL_RPATH=ON \
|
-DCMAKE_SKIP_INSTALL_RPATH=ON \
|
||||||
-DCMAKE_VERBOSE_MAKEFILE=ON \
|
-DCMAKE_VERBOSE_MAKEFILE=ON \
|
||||||
|
|
@ -355,6 +395,9 @@ flags="${flags} $(pkgconf --cflags Imath)"
|
||||||
-DOPENEXR_LOCATION=%{_includedir} \
|
-DOPENEXR_LOCATION=%{_includedir} \
|
||||||
-DPXR_BUILD_ALEMBIC_PLUGIN=ON \
|
-DPXR_BUILD_ALEMBIC_PLUGIN=ON \
|
||||||
%endif
|
%endif
|
||||||
|
%if %{with draco}
|
||||||
|
-DPXR_BUILD_DRACO_PLUGIN=ON \
|
||||||
|
%endif
|
||||||
%if %{with embree}
|
%if %{with embree}
|
||||||
-DPXR_BUILD_EMBREE_PLUGIN=ON \
|
-DPXR_BUILD_EMBREE_PLUGIN=ON \
|
||||||
-DEMBREE_LOCATION=%{_prefix} \
|
-DEMBREE_LOCATION=%{_prefix} \
|
||||||
|
|
@ -369,13 +412,9 @@ flags="${flags} $(pkgconf --cflags Imath)"
|
||||||
-DPXR_ENABLE_OSL_SUPPORT=ON \
|
-DPXR_ENABLE_OSL_SUPPORT=ON \
|
||||||
%endif
|
%endif
|
||||||
-DPYTHON_EXECUTABLE=%{python3} \
|
-DPYTHON_EXECUTABLE=%{python3} \
|
||||||
%if %{with python3}
|
|
||||||
-DPXR_USE_PYTHON_3=ON \
|
-DPXR_USE_PYTHON_3=ON \
|
||||||
-DPYSIDE_AVAILABLE=ON \
|
-DPYSIDE_AVAILABLE=ON \
|
||||||
-DPYSIDEUICBINARY:PATH=${PWD}/uic-wrapper \
|
-DPYSIDEUICBINARY:PATH=${PWD}/uic-wrapper \
|
||||||
%else
|
|
||||||
-DPXR_ENABLE_PYTHON_SUPPORT=OFF \
|
|
||||||
%endif
|
|
||||||
-DPXR_BUILD_MONOLITHIC=ON \
|
-DPXR_BUILD_MONOLITHIC=ON \
|
||||||
-DPXR_ENABLE_MALLOCHOOK_SUPPORT=OFF
|
-DPXR_ENABLE_MALLOCHOOK_SUPPORT=OFF
|
||||||
%cmake_build
|
%cmake_build
|
||||||
|
|
@ -383,6 +422,10 @@ flags="${flags} $(pkgconf --cflags Imath)"
|
||||||
%install
|
%install
|
||||||
%cmake_install
|
%cmake_install
|
||||||
|
|
||||||
|
# Blender 3.5.1 requires libusd_ms.so
|
||||||
|
ln -s %{_libdir}/lib%{name}_%{name}_ms.so \
|
||||||
|
%{buildroot}%{_libdir}/lib%{name}_ms.so
|
||||||
|
|
||||||
# Fix python3 files installation
|
# Fix python3 files installation
|
||||||
mkdir -p %{buildroot}%{python3_sitearch}
|
mkdir -p %{buildroot}%{python3_sitearch}
|
||||||
mv %{buildroot}%{python3_sitelib}/* %{buildroot}%{python3_sitearch}
|
mv %{buildroot}%{python3_sitelib}/* %{buildroot}%{python3_sitearch}
|
||||||
|
|
@ -414,6 +457,21 @@ mv %{buildroot}%{_prefix}/lib/python/pxr/Usdviewq/* \
|
||||||
# https://github.com/PixarAnimationStudios/USD/issues/1088
|
# https://github.com/PixarAnimationStudios/USD/issues/1088
|
||||||
rm -vrf '%{buildroot}%{_libdir}/cmake'
|
rm -vrf '%{buildroot}%{_libdir}/cmake'
|
||||||
|
|
||||||
|
# Generate and install man pages. While generating the man pages might more
|
||||||
|
# properly go in %%build, it is generally much easier to do this here in a
|
||||||
|
# single step, using the entry points installed into the buildroot. This is
|
||||||
|
# especially true for the entry points that are Python scripts.
|
||||||
|
install -d '%{buildroot}%{_mandir}/man1'
|
||||||
|
for cmd in %{buildroot}%{_bindir}/*
|
||||||
|
do
|
||||||
|
PYTHONPATH='%{buildroot}%{python3_sitearch}' \
|
||||||
|
LD_LIBRARY_PATH='%{buildroot}%{_libdir}' \
|
||||||
|
help2man \
|
||||||
|
--no-info --no-discard-stderr --version-string='%{version}' \
|
||||||
|
--output="%{buildroot}%{_mandir}/man1/$(basename "${cmd}").1" \
|
||||||
|
"${cmd}"
|
||||||
|
done
|
||||||
|
|
||||||
%check
|
%check
|
||||||
%if %{with usdview}
|
%if %{with usdview}
|
||||||
desktop-file-validate %{buildroot}%{_datadir}/applications/org.open%{name}.%{name}view.desktop
|
desktop-file-validate %{buildroot}%{_datadir}/applications/org.open%{name}.%{name}view.desktop
|
||||||
|
|
@ -422,11 +480,15 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/org.open%{name}.%{nam
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%doc NOTICE.txt README.md
|
%doc NOTICE.txt README.md
|
||||||
|
|
||||||
%{_bindir}/sdfdump
|
%{_bindir}/sdfdump
|
||||||
%{_bindir}/sdffilter
|
%{_bindir}/sdffilter
|
||||||
%{_bindir}/usdGenSchema
|
%{_bindir}/usdGenSchema
|
||||||
%{_bindir}/usdcat
|
%{_bindir}/usdcat
|
||||||
%{_bindir}/usdchecker
|
%{_bindir}/usdchecker
|
||||||
|
%if %{with draco}
|
||||||
|
%{_bindir}/usdcompress
|
||||||
|
%endif
|
||||||
%{_bindir}/usddiff
|
%{_bindir}/usddiff
|
||||||
%{_bindir}/usddumpcrate
|
%{_bindir}/usddumpcrate
|
||||||
%{_bindir}/usdedit
|
%{_bindir}/usdedit
|
||||||
|
|
@ -437,29 +499,55 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/org.open%{name}.%{nam
|
||||||
%{_bindir}/usdstitchclips
|
%{_bindir}/usdstitchclips
|
||||||
%{_bindir}/usdtree
|
%{_bindir}/usdtree
|
||||||
%{_bindir}/usdzip
|
%{_bindir}/usdzip
|
||||||
|
|
||||||
%if %{with python3}
|
|
||||||
%files -n python3-%{name}
|
|
||||||
%{python3_sitearch}/pxr
|
|
||||||
%if %{with usdview}
|
%if %{with usdview}
|
||||||
%{_datadir}/applications/org.open%{name}.%{name}view.desktop
|
%{_datadir}/applications/org.open%{name}.%{name}view.desktop
|
||||||
%{_bindir}/testusdview
|
%{_bindir}/testusdview
|
||||||
%{_bindir}/usdview
|
%{_bindir}/usdview
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%{_mandir}/man1/sdfdump.1*
|
||||||
|
%{_mandir}/man1/sdffilter.1*
|
||||||
|
%{_mandir}/man1/usdGenSchema.1*
|
||||||
|
%{_mandir}/man1/usdcat.1*
|
||||||
|
%{_mandir}/man1/usdchecker.1*
|
||||||
|
%if %{with draco}
|
||||||
|
%{_mandir}/man1/usdcompress.1*
|
||||||
%endif
|
%endif
|
||||||
|
%{_mandir}/man1/usddiff.1*
|
||||||
|
%{_mandir}/man1/usddumpcrate.1*
|
||||||
|
%{_mandir}/man1/usdedit.1*
|
||||||
|
%{_mandir}/man1/usdgenschemafromsdr.1*
|
||||||
|
%{_mandir}/man1/usdrecord.1*
|
||||||
|
%{_mandir}/man1/usdresolve.1*
|
||||||
|
%{_mandir}/man1/usdstitch.1*
|
||||||
|
%{_mandir}/man1/usdstitchclips.1*
|
||||||
|
%{_mandir}/man1/usdtree.1*
|
||||||
|
%{_mandir}/man1/usdzip.1*
|
||||||
|
%if %{with usdview}
|
||||||
|
%{_mandir}/man1/testusdview.1*
|
||||||
|
%{_mandir}/man1/usdview.1*
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%files -n python3-%{name}
|
||||||
|
%{python3_sitearch}/pxr/
|
||||||
|
|
||||||
%files libs
|
%files libs
|
||||||
%license LICENSE.txt
|
%license LICENSE.txt
|
||||||
%doc NOTICE.txt README.md
|
%doc NOTICE.txt README.md
|
||||||
%{_libdir}/lib%{name}_%{name}_ms.so.%{downstream_so_version}
|
%{_libdir}/lib%{name}_%{name}_ms.so.%{downstream_so_version}
|
||||||
%{_libdir}/%{name}
|
# While headers normally go in -devel packages, those in
|
||||||
%exclude %{_libdir}/%{name}/%{name}/resources/codegenTemplates
|
# %%{_libdir}/usd/usd/resources/codegenTemplates/ are used as data (templates
|
||||||
|
# for generated code), and it makes sense to package them with the rest of the
|
||||||
|
# library resources. (Technically, these are currently used only by the
|
||||||
|
# usdGenSchema command-line tool, so they could be moved to the base package,
|
||||||
|
# but this is probably too fussy.)
|
||||||
|
%{_libdir}/%{name}/
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
%doc BUILDING.md CHANGELOG.md VERSIONS.md
|
%doc BUILDING.md CHANGELOG.md VERSIONS.md
|
||||||
%{_includedir}/pxr/
|
%{_includedir}/pxr/
|
||||||
%{_libdir}/lib%{name}_%{name}_ms.so
|
%{_libdir}/lib%{name}_%{name}_ms.so
|
||||||
%{_libdir}/%{name}/%{name}/resources/codegenTemplates/
|
%{_libdir}/lib%{name}_ms.so
|
||||||
|
|
||||||
%if %{with documentation}
|
%if %{with documentation}
|
||||||
%files doc
|
%files doc
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue