From 4d367a278361dcc9e09c473ac3b141ed58ac05cb Mon Sep 17 00:00:00 2001 From: Maxwell Beck Date: Wed, 23 Jun 2021 19:14:12 -0500 Subject: [PATCH] opencolorio2: Refactor dependencies Python bindings and utility applications can now be disabled if desired. GPU rendering is always enabled. --- .../libraries/opencolorio/default.nix | 27 ++++++++++++++++--- pkgs/top-level/all-packages.nix | 4 ++- 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/opencolorio/default.nix b/pkgs/development/libraries/opencolorio/default.nix index d9de24b7fa04..522c8cfa4a13 100644 --- a/pkgs/development/libraries/opencolorio/default.nix +++ b/pkgs/development/libraries/opencolorio/default.nix @@ -1,4 +1,16 @@ -{ stdenv, lib, fetchFromGitHub, cmake, expat, libyamlcpp, ilmbase, pystring, lcms2, python3Packages }: +{ + 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; @@ -14,9 +26,18 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ expat libyamlcpp ilmbase pystring lcms2 python3Packages.pybind11 ]; + 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" ]; + 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"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 42306cf5b27b..2877c8da84d2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -17514,7 +17514,9 @@ in openldap = callPackage ../development/libraries/openldap { }; opencolorio1 = callPackage ../development/libraries/opencolorio/1.x.nix { }; - opencolorio2 = callPackage ../development/libraries/opencolorio { }; + opencolorio2 = callPackage ../development/libraries/opencolorio { + inherit (darwin.apple_sdk.frameworks) Carbon GLUT Cocoa; + }; opencolorio = opencolorio1; opendmarc = callPackage ../development/libraries/opendmarc { };