summary refs log tree commit diff
path: root/pkgs/development
diff options
context:
space:
mode:
authorJan Tojnar <jtojnar@gmail.com>2018-08-31 10:40:34 +0100
committerGitHub <noreply@github.com>2018-08-31 10:40:34 +0100
commit1e1221c1c151dc72f032e28821ec9256a2026961 (patch)
tree53078b52872648438003376ac62eb0d0b1f2b113 /pkgs/development
parentbb321a2624ab98b0e4da4de2faca6f91e4d223b4 (diff)
parent43110d8af50ed3c1e1ed4f540a34499733c726a9 (diff)
downloadnixlib-1e1221c1c151dc72f032e28821ec9256a2026961.tar
nixlib-1e1221c1c151dc72f032e28821ec9256a2026961.tar.gz
nixlib-1e1221c1c151dc72f032e28821ec9256a2026961.tar.bz2
nixlib-1e1221c1c151dc72f032e28821ec9256a2026961.tar.lz
nixlib-1e1221c1c151dc72f032e28821ec9256a2026961.tar.xz
nixlib-1e1221c1c151dc72f032e28821ec9256a2026961.tar.zst
nixlib-1e1221c1c151dc72f032e28821ec9256a2026961.zip
Merge pull request #45682 from Thra11/opencolorio-system-lcms
opencolorio: use system lcms2 on aarch64
Diffstat (limited to 'pkgs/development')
-rw-r--r--pkgs/development/libraries/opencolorio/default.nix31
1 files changed, 24 insertions, 7 deletions
diff --git a/pkgs/development/libraries/opencolorio/default.nix b/pkgs/development/libraries/opencolorio/default.nix
index 751d845f773e..42c0de4d493c 100644
--- a/pkgs/development/libraries/opencolorio/default.nix
+++ b/pkgs/development/libraries/opencolorio/default.nix
@@ -1,22 +1,39 @@
-{ stdenv, lib, fetchurl, cmake, unzip, boost }:
+{ stdenv, lib, fetchFromGitHub, cmake, boost, pkgconfig, lcms2, tinyxml, git }:
+
+with lib;
 
 stdenv.mkDerivation rec {
   name = "opencolorio-${version}";
   version = "1.1.0";
 
-  src = fetchurl {
-    url = "https://github.com/imageworks/OpenColorIO/archive/v1.0.9.zip";
-    sha256 = "1vi5pcgj7gv8fp6cdnhszwfh7lh38rl2rk4c5yzsvmgcb7xf48bx";
+  src = fetchFromGitHub {
+    owner = "imageworks";
+    repo = "OpenColorIO";
+    rev = "v${version}";
+    sha256 = "0cjsyn681xsg89lirlll5pqlsqg2vnk1278iiicmzjy2a2v8x7zq";
   };
 
   outputs = [ "bin" "out" "dev" ];
 
-  buildInputs = [ cmake unzip ] ++ lib.optional stdenv.isDarwin boost;
+  # TODO: Investigate whether git can be dropped: It's only used to apply patches
+  nativeBuildInputs = [ cmake pkgconfig git ];
+
+  buildInputs = [ lcms2 tinyxml ] ++ optional stdenv.isDarwin boost;
+
+  postPatch = ''
+    substituteInPlace src/core/CMakeLists.txt --replace "-Werror" ""
+    substituteInPlace src/pyglue/CMakeLists.txt --replace "-Werror" ""
+  '';
 
-  cmakeFlags = lib.optional stdenv.isDarwin "-DOCIO_USE_BOOST_PTR=ON";
+  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"
+  ] ++ optional stdenv.isDarwin "-DOCIO_USE_BOOST_PTR=ON"
+    ++ optional (!stdenv.hostPlatform.isi686 && !stdenv.hostPlatform.isx86_64) "-DOCIO_USE_SSE=OFF";
 
   postInstall = ''
-    rm $out/lib/*.a
     mkdir -p $bin/bin; mv $out/bin $bin/
   '';