summary refs log tree commit diff
diff options
context:
space:
mode:
authorRaghav Gururajan <raghavgururajan@disroot.org>2020-08-14 04:24:26 -0400
committerDanny Milosavljevic <dannym@scratchpost.org>2020-08-19 19:04:03 +0200
commit9c2031f1bbfad113cb179508c91329f8e5284a86 (patch)
treee84b4008c0c050b643d71fd74f5043e6ec4853d1
parentfd52eec4390c943208eabef041a3dc9310ab9cc9 (diff)
downloadguix-9c2031f1bbfad113cb179508c91329f8e5284a86.tar.gz
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>
-rw-r--r--gnu/packages/image-processing.scm56
1 files 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 @@ integrates with various databases on GUI toolkits such as Qt and Tk.")
     (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 @@ integrates with various databases on GUI toolkits such as Qt and Tk.")
      `(#: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 @@ integrates with various databases on GUI toolkits such as Qt and Tk.")
                      "--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 @@ integrates with various databases on GUI toolkits such as Qt and Tk.")
         ,(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 @@ integrates with various databases on GUI toolkits such as Qt and Tk.")
         ,(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