From 9c2031f1bbfad113cb179508c91329f8e5284a86 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Fri, 14 Aug 2020 04:24:26 -0400 Subject: [PATCH] gnu: opencv: Fix build with new version of jasper. * gnu/packages/image-processing.scm (opencv): Fix build failure. [arguments]<#:phases>['fix-jasper]: New phase. Signed-off-by: Danny Milosavljevic --- gnu/packages/image-processing.scm | 56 ++++++++++++++++++------------- 1 file changed, 32 insertions(+), 24 deletions(-) diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm index abdaec5994..deab738f1f 100644 --- a/gnu/packages/image-processing.scm +++ b/gnu/packages/image-processing.scm @@ -245,8 +245,8 @@ (define-public opencv (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/opencv/opencv") - (commit version))) + (url "https://github.com/opencv/opencv") + (commit version))) (file-name (git-file-name name version)) (sha256 (base32 @@ -272,7 +272,7 @@ (define-public opencv `(#:configure-flags (list "-DWITH_IPP=OFF" "-DWITH_ITT=OFF" - "-DWITH_CAROTENE=OFF" ; only visible on arm/aarch64 + "-DWITH_CAROTENE=OFF" ; only visible on arm/aarch64 "-DENABLE_PRECOMPILED_HEADERS=OFF" ;; CPU-Features: @@ -360,25 +360,33 @@ (define-public opencv "--strip-components=1" "-C" "../opencv-contrib"))) + (add-after 'unpack 'fix-jasper + (lambda _ + ;; See . + (substitute* "modules/imgcodecs/src/grfmt_jpeg2000.cpp" + (("&jas_matrix_get") + "jas_matrix_getref")) + #t)) + (add-after 'set-paths 'add-ilmbase-include-path (lambda* (#:key inputs #:allow-other-keys) - ;; OpenEXR propagates ilmbase, but its include files do not appear - ;; in the CPATH, so we need to add "$ilmbase/include/OpenEXR/" to - ;; the CPATH to satisfy the dependency on "ImathVec.h". - (setenv "CPATH" - (string-append (assoc-ref inputs "ilmbase") - "/include/OpenEXR" - ":" (or (getenv "CPATH") ""))) - #t)) - (add-before 'check 'start-xserver - (lambda* (#:key inputs #:allow-other-keys) - (let ((xorg-server (assoc-ref inputs "xorg-server")) - (disp ":1")) - (setenv "HOME" (getcwd)) - (setenv "DISPLAY" disp) - ;; There must be a running X server and make check doesn't start one. - ;; Therefore we must do it. - (zero? (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp))))))))) + ;; OpenEXR propagates ilmbase, but its include files do not appear + ;; in the CPATH, so we need to add "$ilmbase/include/OpenEXR/" to + ;; the CPATH to satisfy the dependency on "ImathVec.h". + (setenv "CPATH" + (string-append (assoc-ref inputs "ilmbase") + "/include/OpenEXR" + ":" (or (getenv "CPATH") ""))) + #t)) + (add-before 'check 'start-xserver + (lambda* (#:key inputs #:allow-other-keys) + (let ((xorg-server (assoc-ref inputs "xorg-server")) + (disp ":1")) + (setenv "HOME" (getcwd)) + (setenv "DISPLAY" disp) + ;; There must be a running X server and make check doesn't start one. + ;; Therefore we must do it. + (zero? (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp))))))))) (native-inputs `(("pkg-config" ,pkg-config) ("xorg-server" ,xorg-server-for-tests) ; For running the tests @@ -386,8 +394,8 @@ (define-public opencv ,(origin (method git-fetch) (uri (git-reference - (url "https://github.com/opencv/opencv_extra") - (commit version))) + (url "https://github.com/opencv/opencv_extra") + (commit version))) (file-name (git-file-name "opencv_extra" version)) (sha256 (base32 "08p5xnq8n1jw8svvz0fnirfg7q8dm3p4a5dl7527s5xj0f9qn7lp")))) @@ -395,8 +403,8 @@ (define-public opencv ,(origin (method git-fetch) (uri (git-reference - (url "https://github.com/opencv/opencv_contrib") - (commit version))) + (url "https://github.com/opencv/opencv_contrib") + (commit version))) (file-name (git-file-name "opencv_contrib" version)) (patches (search-patches "opencv-rgbd-aarch64-test-fix.patch")) (sha256