diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/opencolorio')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/opencolorio/1.x.nix | 12 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/libraries/opencolorio/default.nix | 55 |
2 files changed, 51 insertions, 16 deletions
diff --git a/nixpkgs/pkgs/development/libraries/opencolorio/1.x.nix b/nixpkgs/pkgs/development/libraries/opencolorio/1.x.nix index 1b58faf54438..0355b9977448 100644 --- a/nixpkgs/pkgs/development/libraries/opencolorio/1.x.nix +++ b/nixpkgs/pkgs/development/libraries/opencolorio/1.x.nix @@ -26,13 +26,19 @@ stdenv.mkDerivation rec { cmakeFlags = [ "-DUSE_EXTERNAL_LCMS=ON" "-DUSE_EXTERNAL_TINYXML=ON" - # External libyamlcpp 0.6.* not compatible: https://github.com/imageworks/OpenColorIO/issues/517 + # External yaml-cpp 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.isx86) "-DOCIO_USE_SSE=OFF"; + ++ lib.optional (!stdenv.hostPlatform.isx86) "-DOCIO_USE_SSE=OFF" + ++ lib.optional (stdenv.isDarwin && stdenv.isAarch64) "-DCMAKE_OSX_ARCHITECTURES=arm64"; postInstall = '' - mkdir -p $bin/bin; mv $out/bin $bin/ + moveToOutput bin "$bin" + moveToOutput cmake "$dev" + mv $out/OpenColorIOConfig.cmake $dev/cmake/ + + substituteInPlace "$dev/cmake/OpenColorIO-release.cmake" \ + --replace "$out/bin" "$bin/bin" ''; meta = with lib; { diff --git a/nixpkgs/pkgs/development/libraries/opencolorio/default.nix b/nixpkgs/pkgs/development/libraries/opencolorio/default.nix index 81ab688b6436..3d8a5588043f 100644 --- a/nixpkgs/pkgs/development/libraries/opencolorio/default.nix +++ b/nixpkgs/pkgs/development/libraries/opencolorio/default.nix @@ -1,12 +1,14 @@ { stdenv , lib , fetchFromGitHub +, fetchpatch , cmake , expat -, libyamlcpp +, yaml-cpp , ilmbase , pystring , imath +, minizip-ng # Only required on Linux , glew , freeglut @@ -20,40 +22,67 @@ # Build apps , buildApps ? true # Utility applications , lcms2 -, openimageio2 -, openexr +, openexr_3 }: stdenv.mkDerivation rec { pname = "opencolorio"; - version = "2.1.2"; + version = "2.2.0"; src = fetchFromGitHub { owner = "AcademySoftwareFoundation"; repo = "OpenColorIO"; rev = "v${version}"; - sha256 = "sha256-e1PpWjjfSjtgN9Rs/+lsA45Z9S4y4T6nqrJ02DZ4vjs="; + sha256 = "sha256-l5UUysHdP/gb4Mn5A64XEoHOkthl6Mlb95CuI0l4vXQ="; }; + patches = [ + (fetchpatch { + name = "darwin-no-hidden-l.patch"; + url = "https://github.com/AcademySoftwareFoundation/OpenColorIO/commit/48bab7c643ed8d108524d718e5038d836f906682.patch"; + revert = true; + sha256 = "sha256-0DF+lwi2nfkUFG0wYvL3HYbhZS6SqGtPWoOabrFS1Eo="; + }) + (fetchpatch { + name = "pkg-config-absolute-path.patch"; + url = "https://github.com/AcademySoftwareFoundation/OpenColorIO/commit/332462e7f5051b7e26ee3d8c22890cd5e71e7c30.patch"; + sha256 = "sha256-7xHALhnOkKszgFBgPIbiZQaORnEJ+1M6RyoZdFgjElM="; + }) + ]; + + postPatch = lib.optionalString stdenv.isDarwin '' + # these tests don't like being run headless on darwin. no builtin + # way of skipping tests so this is what we're reduced to. + substituteInPlace tests/cpu/Config_tests.cpp \ + --replace 'OCIO_ADD_TEST(Config, virtual_display)' 'static void _skip_virtual_display()' \ + --replace 'OCIO_ADD_TEST(Config, virtual_display_with_active_displays)' 'static void _skip_virtual_display_with_active_displays()' + ''; + nativeBuildInputs = [ cmake ]; buildInputs = [ expat - libyamlcpp + yaml-cpp ilmbase pystring imath + minizip-ng ] ++ 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 ]; + ++ lib.optionals buildApps [ + lcms2 + openexr_3 + ]; - cmakeFlags = [ - "-DOCIO_INSTALL_EXT_PACKAGES=NONE" - ] ++ lib.optional (!pythonBindings) "-DOCIO_BUILD_PYTHON=OFF" - ++ lib.optional (!buildApps) "-DOCIO_BUILD_APPS=OFF"; + cmakeFlags = [ + "-DOCIO_INSTALL_EXT_PACKAGES=NONE" + # GPU test fails with: freeglut (GPU tests): failed to open display '' + "-DOCIO_BUILD_GPU_TESTS=OFF" + ] ++ 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; + # precision issues on non-x86 + doCheck = stdenv.isx86_64; meta = with lib; { homepage = "https://opencolorio.org"; |