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 <dannym@scratchpost.org>
This commit is contained in:
Raghav Gururajan 2020-08-14 04:24:26 -04:00 committed by Danny Milosavljevic
parent fd52eec439
commit 9c2031f1bb
No known key found for this signature in database
GPG key ID: E71A35542C30BAA5

View file

@ -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 <https://github.com/opencv/opencv/pull/17983>.
(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