blender: build with OpenShadingLanguage support; openimageio: build with python; openshadinglanguage: improve; openusd: improve (#459786)

This commit is contained in:
Vladimír Čunát
2026-02-26 22:18:56 +00:00
committed by GitHub
7 changed files with 57 additions and 37 deletions
+3 -2
View File
@@ -99,7 +99,6 @@ let
python3 = python3Packages.python;
pyPkgsOpenusd = python3Packages.openusd.override (old: {
opensubdiv = old.opensubdiv.override { inherit cudaSupport; };
withOsl = false;
});
libdecor' = libdecor.overrideAttrs (old: {
@@ -168,7 +167,7 @@ stdenv'.mkDerivation (finalAttrs: {
(lib.cmakeBool "WITH_CYCLES_DEVICE_ONEAPI" false)
(lib.cmakeBool "WITH_CYCLES_DEVICE_OPTIX" cudaSupport)
(lib.cmakeBool "WITH_CYCLES_EMBREE" embreeSupport)
(lib.cmakeBool "WITH_CYCLES_OSL" false)
(lib.cmakeBool "WITH_CYCLES_OSL" true)
(lib.cmakeBool "WITH_HYDRA" openUsdSupport)
(lib.cmakeBool "WITH_INSTALL_PORTABLE" false)
(lib.cmakeBool "WITH_JACK" jackaudioSupport)
@@ -268,6 +267,7 @@ stdenv'.mkDerivation (finalAttrs: {
pugixml
python3
python3Packages.materialx
python3Packages.openshadinglanguage
rubberband
zlib
zstd
@@ -325,6 +325,7 @@ stdenv'.mkDerivation (finalAttrs: {
[
ps.materialx
ps.numpy_1
ps.openshadinglanguage
ps.requests
ps.zstandard
]
+16 -13
View File
@@ -1,25 +1,27 @@
{
lib,
stdenv,
fetchFromGitHub,
boost,
bzip2,
cmake,
enablePython ? true,
fetchFromGitHub,
fmt,
giflib,
libheif,
libjpeg,
libjxl,
libpng,
libtiff,
libwebp,
libjxl,
libheif,
libultrahdr,
libwebp,
opencolorio,
openexr,
openjph,
robin-map,
unzip,
fmt,
bzip2,
ptex,
python3Packages,
robin-map,
stdenv,
unzip,
}:
stdenv.mkDerivation (finalAttrs: {
@@ -47,6 +49,7 @@ stdenv.mkDerivation (finalAttrs: {
buildInputs = [
boost
bzip2
giflib
libheif
libjpeg
@@ -58,17 +61,17 @@ stdenv.mkDerivation (finalAttrs: {
opencolorio
openexr
openjph
robin-map
bzip2
ptex
];
robin-map
]
++ lib.optional enablePython python3Packages.pybind11;
propagatedBuildInputs = [
fmt
];
cmakeFlags = [
"-DUSE_PYTHON=OFF"
(lib.cmakeBool "USE_PYTHON" enablePython)
"-DUSE_QT=OFF"
# GNUInstallDirs
"-DCMAKE_INSTALL_LIBDIR=lib" # needs relative path for pkg-config
@@ -1,23 +1,23 @@
{
stdenv,
lib,
fetchFromGitHub,
cmake,
bison,
boost,
clang,
cmake,
fetchFromGitHub,
flex,
lib,
libclang,
libxml2,
zlib,
llvm,
openexr,
openimageio,
llvm,
boost,
flex,
bison,
partio,
pugixml,
python3Packages,
robin-map,
stdenv,
util-linux,
python3,
zlib,
}:
let
@@ -30,7 +30,7 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchFromGitHub {
owner = "AcademySoftwareFoundation";
repo = "OpenShadingLanguage";
rev = "v${finalAttrs.version}";
tag = "v${finalAttrs.version}";
hash = "sha256-+PNh4xFdH8onxK0OTnQHbdupTaB2hTgDumY0krJiWUE=";
};
@@ -70,7 +70,7 @@ stdenv.mkDerivation (finalAttrs: {
openimageio
partio
pugixml
python3.pkgs.pybind11
python3Packages.pybind11
robin-map
util-linux # needed just for hexdump
zlib
@@ -79,6 +79,10 @@ stdenv.mkDerivation (finalAttrs: {
libxml2
];
propagatedBuildInputs = [
python3Packages.openimageio
];
postFixup = ''
substituteInPlace "$out"/lib/pkgconfig/*.pc \
--replace '=''${exec_prefix}//' '=/'
@@ -86,7 +90,7 @@ stdenv.mkDerivation (finalAttrs: {
meta = {
description = "Advanced shading language for production GI renderers";
homepage = "https://opensource.imageworks.com/osl.html";
homepage = "http://openshadinglanguage.org";
maintainers = with lib.maintainers; [ hodapp ];
license = lib.licenses.bsd3;
platforms = lib.platforms.unix;
@@ -24,8 +24,8 @@
numpy,
opencolorio,
openimageio,
openshadinglanguage,
opensubdiv,
osl,
ptex,
pyopengl,
pyqt6,
@@ -79,7 +79,7 @@ buildPythonPackage rec {
})
];
env.OSL_LOCATION = "${osl}";
env.OSL_LOCATION = lib.optionalString withOsl "${openshadinglanguage}";
cmakeFlags = [
"-DPXR_BUILD_ALEMBIC_PLUGIN=ON"
@@ -131,7 +131,7 @@ buildPythonPackage rec {
libx11
libxt
]
++ lib.optionals withOsl [ osl ]
++ lib.optionals withOsl [ openshadinglanguage ]
++ lib.optionals withUsdView [ qt6.qtbase ]
++ lib.optionals (withUsdView && stdenv.hostPlatform.isLinux) [ qt6.qtwayland ];
+1
View File
@@ -1497,6 +1497,7 @@ mapAliases {
orogene = throw "'orogene' uses a wasm-specific fork of async-tar that is vulnerable to CVE-2025-62518, which is not supported by its upstream"; # Added 2025-10-24
ortp = throw "'ortp' has been moved to 'linphonePackages.ortp'"; # Added 2025-09-20
OSCAR = throw "'OSCAR' has been renamed to/replaced by 'oscar'"; # Converted to throw 2025-10-27
osl = openshadinglanguage; # Added 2026-01-04
osm2xmap = throw "osm2xmap has been removed, as it is unmaintained upstream and depended on old dependencies with broken builds"; # Added 2025-09-16
osmtogeojson = throw "'osmtogeojson' has been removed as it was unmaintained upstream"; # Added 2026-02-22
ossec-agent = throw "'ossec-agent' has been removed due to lack of maintenance"; # Added 2025-11-08
+6 -6
View File
@@ -3165,6 +3165,12 @@ with pkgs;
update-systemd-resolved = callPackage ../tools/networking/openvpn/update-systemd-resolved.nix { };
openshadinglanguage = callPackage ../by-name/op/openshadinglanguage/package.nix {
libclang = llvmPackages_19.libclang;
clang = clang_19;
llvm = llvm_19;
};
opentelemetry-collector = opentelemetry-collector-releases.otelcol;
opentelemetry-collector-builder = callPackage ../tools/misc/opentelemetry-collector/builder.nix { };
opentelemetry-collector-contrib = opentelemetry-collector-releases.otelcol-contrib;
@@ -3181,12 +3187,6 @@ with pkgs;
opl3bankeditor = libsForQt5.callPackage ../tools/audio/opl3bankeditor { };
opn2bankeditor = libsForQt5.callPackage ../tools/audio/opl3bankeditor/opn2bankeditor.nix { };
osl = libsForQt5.callPackage ../development/compilers/osl {
libclang = llvmPackages_19.libclang;
clang = clang_19;
llvm = llvm_19;
};
p4c = callPackage ../development/compilers/p4c {
protobuf = protobuf_21;
};
+11
View File
@@ -11488,6 +11488,13 @@ self: super: with self; {
openidc-client = callPackage ../development/python-modules/openidc-client { };
openimageio = toPythonModule (
pkgs.openimageio.override {
enablePython = true;
python3Packages = self;
}
);
openmm = toPythonModule (
pkgs.openmm.override {
python3Packages = self;
@@ -11515,6 +11522,10 @@ self: super: with self; {
opensfm = callPackage ../development/python-modules/opensfm { };
openshadinglanguage = toPythonModule (
pkgs.openshadinglanguage.override { python3Packages = self; }
);
openshift = callPackage ../development/python-modules/openshift { };
opensimplex = callPackage ../development/python-modules/opensimplex { };