gnu: opencv: Fix build with Jasper 2.0.19.

* gnu/packages/image-processing.scm (opencv)[source]: Add patch.
* gnu/packages/patches/opencv-fix-build-of-grfmt_jpeg2000.cpp.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
This commit is contained in:
Tobias Geerinckx-Rice 2020-08-13 15:26:45 +02:00
parent d1c37def6e
commit 8bf704262d
No known key found for this signature in database
GPG Key ID: 0DB0FF884F556D79
3 changed files with 43 additions and 1 deletions

View File

@ -1356,6 +1356,7 @@ dist_patch_DATA = \
%D%/packages/patches/ola-readdir-r.patch \
%D%/packages/patches/openbabel-fix-crash-on-nwchem-output.patch \
%D%/packages/patches/opencascade-oce-glibc-2.26.patch \
%D%/packages/patches/opencv-fix-build-of-grfmt_jpeg2000.cpp.patch \
%D%/packages/patches/opencv-rgbd-aarch64-test-fix.patch \
%D%/packages/patches/opendht-fix-jami.patch \
%D%/packages/patches/openfoam-4.1-cleanup.patch \

View File

@ -4,7 +4,7 @@
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2018 Lprndn <guix@lprndn.info>
;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
@ -251,6 +251,8 @@ integrates with various databases on GUI toolkits such as Qt and Tk.")
(sha256
(base32
"06bc61r8myym4s8im10brdjfg4wxkrvsbhhl7vr1msdan2xddzi3"))
(patches
(search-patches "opencv-fix-build-of-grfmt_jpeg2000.cpp.patch"))
(modules '((guix build utils)))
(snippet
'(begin

View File

@ -0,0 +1,39 @@
From: Tobias Geerinckx-Rice <me@tobias.gr>
Date: Thu, 13 Aug 2020 15:21:30 +0200
Subject: [PATCH] gnu: opencv: Fix build with Jasper 2.0.19.
Taken verbatim from upstream: <https://github.com/opencv/opencv/issues/17984>.
From f66fc199a20882c546fa31142e9c0f5a8b3cf983 Mon Sep 17 00:00:00 2001
From: Florian Jung <flo@windfis.ch>
Date: Wed, 29 Jul 2020 18:51:55 +0200
Subject: [PATCH] Fix build of grfmt_jpeg2000.cpp
libjasper has recently changed `jas_matrix_get` from a macro to an inline function
(389951d071 in https://github.com/jasper-software/jasper), causing the build to fail.
---
modules/imgcodecs/src/grfmt_jpeg2000.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/modules/imgcodecs/src/grfmt_jpeg2000.cpp b/modules/imgcodecs/src/grfmt_jpeg2000.cpp
index fe69f80c86f..0f4d28d6f4d 100644
--- a/modules/imgcodecs/src/grfmt_jpeg2000.cpp
+++ b/modules/imgcodecs/src/grfmt_jpeg2000.cpp
@@ -377,7 +377,7 @@ bool Jpeg2KDecoder::readComponent8u( uchar *data, void *_buffer,
for( y = 0; y < yend - ystart; )
{
- jas_seqent_t* pix_row = &jas_matrix_get( buffer, y / ystep, 0 );
+ jas_seqent_t* pix_row = jas_matrix_getref( buffer, y / ystep, 0 );
uchar* dst = data + (y - yoffset) * step - xoffset;
if( xstep == 1 )
@@ -443,7 +443,7 @@ bool Jpeg2KDecoder::readComponent16u( unsigned short *data, void *_buffer,
for( y = 0; y < yend - ystart; )
{
- jas_seqent_t* pix_row = &jas_matrix_get( buffer, y / ystep, 0 );
+ jas_seqent_t* pix_row = jas_matrix_getref( buffer, y / ystep, 0 );
ushort* dst = data + (y - yoffset) * step - xoffset;
if( xstep == 1 )