diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/opencolorio')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/opencolorio/1.x.nix | 45 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/libraries/opencolorio/default.nix | 49 |
2 files changed, 94 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/opencolorio/1.x.nix b/nixpkgs/pkgs/development/libraries/opencolorio/1.x.nix new file mode 100644 index 000000000000..041ddf8e8371 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/opencolorio/1.x.nix @@ -0,0 +1,45 @@ +{ stdenv, lib, fetchFromGitHub, cmake, boost, pkg-config, lcms2, tinyxml, git }: + +stdenv.mkDerivation rec { + pname = "opencolorio"; + version = "1.1.1"; + + src = fetchFromGitHub { + owner = "imageworks"; + repo = "OpenColorIO"; + rev = "v${version}"; + sha256 = "12srvxca51czpfjl0gabpidj9n84mw78ivxy5w75qhq2mmc798sb"; + }; + + outputs = [ "bin" "out" "dev" ]; + + # TODO: Investigate whether git can be dropped: It's only used to apply patches + nativeBuildInputs = [ cmake pkg-config git ]; + + buildInputs = [ lcms2 tinyxml ] ++ lib.optional stdenv.isDarwin boost; + + postPatch = '' + substituteInPlace src/core/CMakeLists.txt --replace "-Werror" "" + substituteInPlace src/pyglue/CMakeLists.txt --replace "-Werror" "" + ''; + + cmakeFlags = [ + "-DUSE_EXTERNAL_LCMS=ON" + "-DUSE_EXTERNAL_TINYXML=ON" + # External libyamlcpp 0.6.* not compatible: https://github.com/imageworks/OpenColorIO/issues/517 + "-DUSE_EXTERNAL_YAML=OFF" + ] ++ lib.optional stdenv.isDarwin "-DOCIO_USE_BOOST_PTR=ON" + ++ lib.optional (!stdenv.hostPlatform.isi686 && !stdenv.hostPlatform.isx86_64) "-DOCIO_USE_SSE=OFF"; + + postInstall = '' + mkdir -p $bin/bin; mv $out/bin $bin/ + ''; + + meta = with lib; { + homepage = "https://opencolorio.org"; + description = "A color management framework for visual effects and animation"; + license = licenses.bsd3; + maintainers = [ maintainers.goibhniu ]; + platforms = platforms.unix; + }; +} diff --git a/nixpkgs/pkgs/development/libraries/opencolorio/default.nix b/nixpkgs/pkgs/development/libraries/opencolorio/default.nix new file mode 100644 index 000000000000..b93e517def66 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/opencolorio/default.nix @@ -0,0 +1,49 @@ +{ + stdenv, lib, fetchFromGitHub, symlinkJoin, + 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 (symlinkJoin { name = "expat"; paths = [ expat.out expat.dev ]; }) ]; + buildInputs = [ expat.out 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; + }; +} |