diff options
Diffstat (limited to 'pkgs/development/python-modules/materialx/default.nix')
-rw-r--r-- | pkgs/development/python-modules/materialx/default.nix | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/pkgs/development/python-modules/materialx/default.nix b/pkgs/development/python-modules/materialx/default.nix new file mode 100644 index 0000000000000..b1e11ba6de23a --- /dev/null +++ b/pkgs/development/python-modules/materialx/default.nix @@ -0,0 +1,78 @@ +{ + lib, + stdenv, + buildPythonPackage, + fetchFromGitHub, + cmake, + setuptools, + darwin, + libX11, + libXt, + libGL, + openimageio, + imath, + python, +}: + +buildPythonPackage rec { + pname = "materialx"; + version = "1.38.10"; + + src = fetchFromGitHub { + owner = "AcademySoftwareFoundation"; + repo = "MaterialX"; + rev = "v${version}"; + hash = "sha256-/kMHmW2dptZNtjuhE5s+jvPRIdtY+FRiVtMU+tiBgQo="; + }; + + format = "other"; + + nativeBuildInputs = [ + cmake + setuptools + ]; + + buildInputs = + [ + openimageio + imath + ] + ++ lib.optionals stdenv.isDarwin ( + with darwin.apple_sdk.frameworks; + [ + OpenGL + Cocoa + ] + ) + ++ lib.optionals (!stdenv.isDarwin) [ + libX11 + libXt + libGL + ]; + + cmakeFlags = [ + (lib.cmakeBool "MATERIALX_BUILD_OIIO" true) + (lib.cmakeBool "MATERIALX_BUILD_PYTHON" true) + # don't build MSL shader back-end on x86_x64-darwin, as it requires a newer SDK with metal support + (lib.cmakeBool "MATERIALX_BUILD_GEN_MSL" (stdenv.isLinux || (stdenv.isAarch64 && stdenv.isDarwin))) + ]; + + pythonImportsCheck = [ "MaterialX" ]; + + postInstall = '' + # Make python lib properly accessible + target_dir=$out/${python.sitePackages} + mkdir -p $(dirname $target_dir) + # required for cmake to find the bindings, when included in other projects + ln -s $out/python $target_dir + ''; + + meta = { + changelog = "https://github.com/AcademySoftwareFoundation/MaterialX/blob/${src.rev}/CHANGELOG.md"; + description = "Open standard for representing rich material and look-development content in computer graphics"; + homepage = "https://materialx.org"; + maintainers = [ lib.maintainers.gador ]; + platforms = lib.platforms.unix; + license = lib.licenses.mpl20; + }; +} |