nixpkgs/pkgs/development/libraries/opencolorio/default.nix
2021-07-03 19:30:45 -04:00

50 lines
1.5 KiB
Nix

{
stdenv, lib, fetchFromGitHub,
cmake, expat, libyamlcpp, ilmbase, pystring, # Base dependencies
glew, freeglut, # Only required on Linux
Carbon, GLUT, Cocoa, # Only required on Darwin
pythonBindings ? true, # Python bindings
python3Packages,
buildApps ? true, # Utility applications
lcms2, openimageio2, openexr,
}:
with lib;
stdenv.mkDerivation rec {
pname = "opencolorio";
version = "2.0.1";
src = fetchFromGitHub {
owner = "AcademySoftwareFoundation";
repo = "OpenColorIO";
rev = "v${version}";
sha256 = "194j9jp5c8ws0fryiz936wyinphnpzwpqnzvw9ryx6rbiwrba487";
};
nativeBuildInputs = [ cmake ];
buildInputs = [ expat libyamlcpp ilmbase pystring ]
++ lib.optionals stdenv.hostPlatform.isLinux [ glew freeglut ]
++ lib.optionals stdenv.hostPlatform.isDarwin [ Carbon GLUT Cocoa ]
++ lib.optionals pythonBindings [ python3Packages.python python3Packages.pybind11 ]
++ lib.optionals buildApps [ lcms2 openimageio2 openexr ];
cmakeFlags = [ "-DOCIO_INSTALL_EXT_PACKAGES=NONE" ]
++ lib.optional (!pythonBindings) "-DOCIO_BUILD_PYTHON=OFF"
++ lib.optional (!buildApps) "-DOCIO_BUILD_APPS=OFF";
# TODO Investigate this: Python and GPU tests fail to load libOpenColorIO.so.2.0
# doCheck = true;
meta = with lib; {
homepage = "https://opencolorio.org";
description = "A color management framework for visual effects and animation";
license = licenses.bsd3;
maintainers = [ maintainers.rytone ];
platforms = platforms.unix;
};
}