[PATCH] gnu: opencv: Update to 4.8.0

  • Done
  • quality assurance status badge
Details
2 participants
  • Andy Tai
  • Christopher Baines
Owner
unassigned
Submitted by
Andy Tai
Severity
normal
A
A
Andy Tai wrote on 17 Aug 2023 18:12
(address . guix-patches@gnu.org)
CAJsg1E_t8y9BZRN=fLi8DGhvgkbKvHA+V6EiSLBityaWk4pNwA@mail.gmail.com

From ccc44e4f892c76aebe057c3a71913e30d21a32bd Mon Sep 17 00:00:00 2001
Message-Id: <ccc44e4f892c76aebe057c3a71913e30d21a32bd.1692288608.git.atai@atai.org>
From: Andy Tai <atai@atai.org>
Date: Thu, 17 Aug 2023 16:08:55 +0000
Subject: [PATCH] gnu: opencv: Update to 4.8.0
To: guix-patches@gnu.org

* gnu/packages/image-processing.scm (opencv): Update to 4.8.0
---
gnu/packages/image-processing.scm | 28 +++++++++++++++++++++++-----
1 file changed, 23 insertions(+), 5 deletions(-)

Toggle diff (102 lines)
diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm
index afeda4bc20..79b1dd4121 100644
--- a/gnu/packages/image-processing.scm
+++ b/gnu/packages/image-processing.scm
@@ -81,6 +81,7 @@ (define-module (gnu packages image-processing)
#:use-module (gnu packages linux)
#:use-module (gnu packages maths)
#:use-module (gnu packages mpi)
+ #:use-module (gnu packages opencl)
#:use-module (gnu packages pdf)
#:use-module (gnu packages perl)
#:use-module (gnu packages photo)
@@ -492,7 +493,7 @@ (define-public vtk-7
(define-public opencv
(package
(name "opencv")
- (version "4.7.0")
+ (version "4.8.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -508,6 +509,7 @@ (define-public opencv
(for-each delete-file-recursively
'("carotene"
"cpufeatures"
+ "flatbuffers"
"ffmpeg"
"include"
"ippicv"
@@ -531,7 +533,7 @@ (define-public opencv
(for-each delete-file (find-files "." "\\.jar$"))))
(sha256
(base32
- "0l45v41nns2jmn9nr9fb0yvhqzfjpxjxn75i1c02rsfy3r3lv22v"))))
+ "14bjpb0ahhaqnim8g6vs0gyd6jgnmly1amx25a0rk1a6ii2aiywn"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
@@ -577,6 +579,11 @@ (define-public opencv
;; Is ON by default and would try to rebuild 3rd-party protobuf,
;; which we had removed, which would lead to an error:
"-DBUILD_PROTOBUF=OFF"
+
+ ;; OpenCV tries to use flatbuffers in 3rdparty which we removed
+ ;; so for now we don't buildfor flatbuffer support
+ ;; TODO: make OpenCV use system flatbuffers which involves modifying CMake files
+ "-DWITH_FLATBUFFERS=OFF"
;; Rebuild protobuf files, because we have a slightly different
;; version than the included one. If we would not update, we
@@ -611,6 +618,11 @@ (define-public opencv
(("\\b(Accum|DataAugmentation|Resample|Correlation|Interp)\\b" all)
(string-append "DISABLED_" all)))
+ ;; This test fails on x86-64, loosen the bounds.
+ ;; Expected: (max) < (0.131), actual: 0.207148 vs 0.131
+ (substitute* "modules/photo/test/test_hdr.cpp"
+ (("0\\.1\\)") "0.222)"))
+
,@(if (target-aarch64?)
`(;; This test fails on aarch64, loosen the bounds.
;; Expected: (max) < (0.131), actual: 0.207148 vs 0.131
@@ -668,7 +680,7 @@ (define-public opencv
(file-name (git-file-name "opencv_extra" version))
(sha256
(base32
- "0bdg5kwwdimnl2zp4ry5cmfxr9xb7zk2ml59853d90llsqjis47a"))))
+ "11y9b35j74gg4gqll4v366qmhvjkcqml45khiajd8zsk1fraf70l"))))
("opencv-contrib"
,(origin
(method git-fetch)
@@ -677,9 +689,12 @@ (define-public opencv
(file-name (git-file-name "opencv_contrib" version))
(sha256
(base32
- "0hbfn835kxh3hwmwvzgdglm2np1ri3z7nfnf60gf4x6ikp89mv4r"))))))
+ "16crcca9r4y4rby0dqdhc06qi84hjk6qxy2sql2dhh35hfs856rr"))))))
(inputs
- (list ffmpeg-4
+ (list eigen
+ ffmpeg-4
+ ;flatbuffers ;; build error on flatbufer generated code; TODO: enable when builds
+ ;gstreamer ;; TODO: proper gstreamer linkage
gtk+
gtkglext
hdf5
@@ -691,8 +706,11 @@ (define-public opencv
libpng
libtiff
libwebp
+ mesa-opencl
openblas
+ opencl-headers
openexr
+ openmpi
openjpeg
protobuf
python

base-commit: 79ec651a286c71a3d4c72be33a1f80e76a560031
--
2.34.1
A
A
Andy Tai wrote on 19 Aug 2023 10:18
[PATCH v2] gnu: opencv: Update to 4.8.0
(address . 65355@debbugs.gnu.org)(name . Andy Tai)(address . atai@atai.org)
37cbde2e454dd58b718b9300182fbdaeb81ada70.1692433068.git.atai@atai.org
* gnu/packages/image-processing.scm (opencv): Update to 4.8.0
[arguments](configure-flags): Turn off flagbuffer support
as build fails with that
[#:phases](disable-broken-tests): Increase tolerance for
one test failure on x86-64
[inputs]: Add eigen, opencl-headers and openmpi
---
gnu/packages/image-processing.scm | 27 ++++++++++++++++++++++-----
1 file changed, 22 insertions(+), 5 deletions(-)

Toggle diff (100 lines)
diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm
index 965eca82b7..5903cf6664 100644
--- a/gnu/packages/image-processing.scm
+++ b/gnu/packages/image-processing.scm
@@ -81,6 +81,7 @@ (define-module (gnu packages image-processing)
#:use-module (gnu packages linux)
#:use-module (gnu packages maths)
#:use-module (gnu packages mpi)
+ #:use-module (gnu packages opencl)
#:use-module (gnu packages pdf)
#:use-module (gnu packages perl)
#:use-module (gnu packages photo)
@@ -492,7 +493,7 @@ (define-public vtk-7
(define-public opencv
(package
(name "opencv")
- (version "4.7.0")
+ (version "4.8.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -508,6 +509,7 @@ (define-public opencv
(for-each delete-file-recursively
'("carotene"
"cpufeatures"
+ "flatbuffers"
"ffmpeg"
"include"
"ippicv"
@@ -531,7 +533,7 @@ (define-public opencv
(for-each delete-file (find-files "." "\\.jar$"))))
(sha256
(base32
- "0l45v41nns2jmn9nr9fb0yvhqzfjpxjxn75i1c02rsfy3r3lv22v"))))
+ "14bjpb0ahhaqnim8g6vs0gyd6jgnmly1amx25a0rk1a6ii2aiywn"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
@@ -578,6 +580,11 @@ (define-public opencv
;; which we had removed, which would lead to an error:
"-DBUILD_PROTOBUF=OFF"
+ ;; OpenCV tries to use flatbuffers in 3rdparty which we removed
+ ;; so for now we don't buildfor flatbuffer support
+ ;; TODO: make OpenCV use system flatbuffers which involves modifying CMake files
+ "-DWITH_FLATBUFFERS=OFF"
+
;; Rebuild protobuf files, because we have a slightly different
;; version than the included one. If we would not update, we
;; would get a compile error later:
@@ -611,6 +618,11 @@ (define-public opencv
(("\\b(Accum|DataAugmentation|Resample|Correlation|Interp)\\b" all)
(string-append "DISABLED_" all)))
+ ;; This test fails on x86-64, loosen the bounds.
+ ;; Expected: (max) < (0.1), actual: 0.2 vs 0.1
+ (substitute* "modules/photo/test/test_hdr.cpp"
+ (("0\\.1\\)") "0.222)"))
+
,@(if (target-aarch64?)
`(;; This test fails on aarch64, loosen the bounds.
;; Expected: (max) < (0.131), actual: 0.207148 vs 0.131
@@ -668,7 +680,7 @@ (define-public opencv
(file-name (git-file-name "opencv_extra" version))
(sha256
(base32
- "0bdg5kwwdimnl2zp4ry5cmfxr9xb7zk2ml59853d90llsqjis47a"))))
+ "11y9b35j74gg4gqll4v366qmhvjkcqml45khiajd8zsk1fraf70l"))))
("opencv-contrib"
,(origin
(method git-fetch)
@@ -677,9 +689,12 @@ (define-public opencv
(file-name (git-file-name "opencv_contrib" version))
(sha256
(base32
- "0hbfn835kxh3hwmwvzgdglm2np1ri3z7nfnf60gf4x6ikp89mv4r"))))))
+ "16crcca9r4y4rby0dqdhc06qi84hjk6qxy2sql2dhh35hfs856rr"))))))
(inputs
- (list ffmpeg-4
+ (list eigen
+ ffmpeg-4
+ ;flatbuffers ;; build error on flatbufer generated code; TODO: enable when builds
+ ;gstreamer ;; TODO: proper gstreamer linkage
gtk+
gtkglext
hdf5
@@ -692,7 +707,9 @@ (define-public opencv
libtiff
libwebp
openblas
+ opencl-headers
openexr
+ openmpi
openjpeg
protobuf
python

base-commit: b15381460ed74e72792ff182dd2ca7a06ba59b0c
--
2.41.0
C
C
Christopher Baines wrote on 29 Aug 2023 15:06
(name . Andy Tai)(address . atai@atai.org)
871qfmgfp0.fsf@cbaines.net
Andy Tai <atai@atai.org> writes:

Toggle quote (10 lines)
> * gnu/packages/image-processing.scm (opencv): Update to 4.8.0
> [arguments](configure-flags): Turn off flagbuffer support
> as build fails with that
> [#:phases](disable-broken-tests): Increase tolerance for
> one test failure on x86-64
> [inputs]: Add eigen, opencl-headers and openmpi
> ---
> gnu/packages/image-processing.scm | 27 ++++++++++++++++++++++-----
> 1 file changed, 22 insertions(+), 5 deletions(-)

I've made a few tweaks and pushed this to master as
43b3500620cfbfc00fc66e57ab9752a8dcad6da1.

Please take a look at guix lint when making changes, it flagged up a few
new long lines and tabulations here. I also tweaked the formatting of
the commit message.

Thanks,

Chris
-----BEGIN PGP SIGNATURE-----

iQKlBAEBCgCPFiEEPonu50WOcg2XVOCyXiijOwuE9XcFAmTt7YtfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcRHG1haWxAY2Jh
aW5lcy5uZXQACgkQXiijOwuE9XeG4A/9Fbc+dzI0HSGmzl5weTD/rMh+O0JmiuV6
TWKYAWcyBEmahZ0RX92tELNDdqRFnywml6ccX3cjHUbzAWrmtXkH7UY3kTrq3HcY
7Yz8tigd0PGFBaTlgakbjNDCGne9yJ/7fssgyHNC5J2q5vmycN7NRgpMA2Z5Jycj
3chHRkJbTVt/VpWdTjQUVGAhq01QDsP74Qh7OiJqenZeAvCjUSaTuGJM7OxGRrme
nruOpvOCGnkuo/qwFumpvhZFolJKK3ece/HceN7wbccRec2ZDfXl+gga6ATE8y4N
DzPVuXPZ4eukbuv8HHJWo6W7TZzgZslk85xOtVy78sr0GS/HL3u328GVNi03yoYd
a8KCNwJKZKNbHML4a7iH9uqtMga1ZMILb4vMlmLiK03rVTMcXEdv+8j/XubFjR8z
8v8KNQG/SwuZmr5HavYvdcz4CrEMwnbFkzWzHHMOMskyG16BTfChEoB+rI6xGNhX
Q8OMELjYIi1vQfltwJ73EFrW/iiv1PXtr/2etBJ7RrW1oMbHnBj91VgtjZInsdyM
a4s2PWOPj3vfwwyK9/e04sSH6GOpJumJjAfmvpnvydocCl/qlKxqka1NkxNvrHfz
mWNIVO3gQ0975r2ivuIypLldrwmDzuV751YEQ0n52Nxd9KUduvm3lgQeKV6dw1SS
ras7KJnXa4g=
=LDsI
-----END PGP SIGNATURE-----

?