nerdfonts: fix wrong attribute name in error message (#364463)
[NixPkgs.git] / pkgs / development / libraries / opencolorio / default.nix
blobdf4887e799b86ec4856d33e9df75731f59d08db1
2   stdenv,
3   lib,
4   fetchFromGitHub,
5   cmake,
6   expat,
7   yaml-cpp,
8   pystring,
9   imath,
10   minizip-ng,
11   # Only required on Linux
12   glew,
13   libglut,
14   # Only required on Darwin
15   Carbon,
16   GLUT,
17   Cocoa,
18   # Python bindings
19   pythonBindings ? true, # Python bindings
20   python3Packages,
21   # Build apps
22   buildApps ? true, # Utility applications
23   lcms2,
24   openexr_3,
27 stdenv.mkDerivation rec {
28   pname = "opencolorio";
29   version = "2.4.0";
31   src = fetchFromGitHub {
32     owner = "AcademySoftwareFoundation";
33     repo = "OpenColorIO";
34     rev = "v${version}";
35     hash = "sha256-7Uj1YBpunj9/32U5hpCokxfcVoRB9Oi2G9Cso+gAu5Q=";
36   };
38   patches = [
39     # Workaround for https://gitlab.kitware.com/cmake/cmake/-/issues/25200.
40     # Needed for zlib >= 1.3 && cmake < 3.27.4.
41     ./broken-cmake-zlib-version.patch
42     # Fix incorrect line number in test
43     ./line-numbers.patch
44   ];
46   postPatch = lib.optionalString stdenv.hostPlatform.isDarwin ''
47     # these tests don't like being run headless on darwin. no builtin
48     # way of skipping tests so this is what we're reduced to.
49     substituteInPlace tests/cpu/Config_tests.cpp \
50       --replace 'OCIO_ADD_TEST(Config, virtual_display)' 'static void _skip_virtual_display()' \
51       --replace 'OCIO_ADD_TEST(Config, virtual_display_with_active_displays)' 'static void _skip_virtual_display_with_active_displays()'
52   '';
54   nativeBuildInputs = [ cmake ];
55   buildInputs =
56     [
57       expat
58       yaml-cpp
59       pystring
60       imath
61       minizip-ng
62     ]
63     ++ lib.optionals stdenv.hostPlatform.isLinux [
64       glew
65       libglut
66     ]
67     ++ lib.optionals stdenv.hostPlatform.isDarwin [
68       Carbon
69       GLUT
70       Cocoa
71     ]
72     ++ lib.optionals pythonBindings [
73       python3Packages.python
74       python3Packages.pybind11
75     ]
76     ++ lib.optionals buildApps [
77       lcms2
78       openexr_3
79     ];
81   cmakeFlags =
82     [
83       "-DOCIO_INSTALL_EXT_PACKAGES=NONE"
84       "-DOCIO_USE_SSE2NEON=OFF"
85       # GPU test fails with: libglut (GPU tests): failed to open display ''
86       "-DOCIO_BUILD_GPU_TESTS=OFF"
87       "-Dminizip-ng_INCLUDE_DIR=${minizip-ng}/include/minizip-ng"
88     ]
89     ++ lib.optional (!pythonBindings) "-DOCIO_BUILD_PYTHON=OFF"
90     ++ lib.optional (!buildApps) "-DOCIO_BUILD_APPS=OFF";
92   # precision issues on non-x86
93   doCheck = stdenv.hostPlatform.isx86_64;
94   # Tends to fail otherwise.
95   enableParallelChecking = false;
97   meta = with lib; {
98     homepage = "https://opencolorio.org";
99     description = "Color management framework for visual effects and animation";
100     license = licenses.bsd3;
101     maintainers = [ maintainers.rytone ];
102     platforms = platforms.unix;
103   };