summary refs log tree commit diff
path: root/pkgs/development/libraries/opencv
diff options
context:
space:
mode:
authorBas van Dijk <v.dijk.bas@gmail.com>2018-05-10 12:21:45 +0200
committerBas van Dijk <v.dijk.bas@gmail.com>2018-05-10 12:21:45 +0200
commit9938bb6c8259a6772e937b0f01318bc816f67ebe (patch)
treeada1e3c420462fa288297c29d209a9ea07db0b29 /pkgs/development/libraries/opencv
parent1d9330d63a5a30f4eb578eda7840be7b11ec6277 (diff)
downloadnixpkgs-9938bb6c8259a6772e937b0f01318bc816f67ebe.tar
nixpkgs-9938bb6c8259a6772e937b0f01318bc816f67ebe.tar.gz
nixpkgs-9938bb6c8259a6772e937b0f01318bc816f67ebe.tar.bz2
nixpkgs-9938bb6c8259a6772e937b0f01318bc816f67ebe.tar.lz
nixpkgs-9938bb6c8259a6772e937b0f01318bc816f67ebe.tar.xz
nixpkgs-9938bb6c8259a6772e937b0f01318bc816f67ebe.tar.zst
nixpkgs-9938bb6c8259a6772e937b0f01318bc816f67ebe.zip
opencv3: fix $out/lib/pkgconfig/opencv.pc
Diffstat (limited to 'pkgs/development/libraries/opencv')
-rw-r--r--pkgs/development/libraries/opencv/3.x.nix15
1 files changed, 15 insertions, 0 deletions
diff --git a/pkgs/development/libraries/opencv/3.x.nix b/pkgs/development/libraries/opencv/3.x.nix
index efb9a7cdbe4..1d3a9629fd0 100644
--- a/pkgs/development/libraries/opencv/3.x.nix
+++ b/pkgs/development/libraries/opencv/3.x.nix
@@ -254,6 +254,21 @@ stdenv.mkDerivation rec {
     make doxygen
   '';
 
+  # By default $out/lib/pkgconfig/opencv.pc looks something like this:
+  #
+  #   prefix=/nix/store/10pzq1a8fkh8q4sysj8n6mv0w0nl0miq-opencv-3.4.1
+  #   exec_prefix=${prefix}
+  #   libdir=${exec_prefix}//nix/store/10pzq1a8fkh8q4sysj8n6mv0w0nl0miq-opencv-3.4.1/lib
+  #   ...
+  #   Libs: -L${exec_prefix}//nix/store/10pzq1a8fkh8q4sysj8n6mv0w0nl0miq-opencv-3.4.1/lib ...
+  #
+  # Note that ${exec_prefix} is set to $out but that $out is also appended to
+  # ${exec_prefix}. This causes linker errors in downstream packages so we strip
+  # of $out after the ${exec_prefix} prefix:
+  postInstall = ''
+    sed -i "s|\''${exec_prefix}/$out|\''${exec_prefix}|" "$out/lib/pkgconfig/opencv.pc"
+  '';
+
   hardeningDisable = [ "bindnow" "relro" ];
 
   passthru = lib.optionalAttrs enablePython { pythonPath = []; };