GNU bug report logs - #61448
[PATCH] ignu: opencv: Update to 4.6.0

Previous Next

Package: guix-patches;

Reported by: Andy Tai <atai <at> atai.org>

Date: Sun, 12 Feb 2023 05:23:01 UTC

Severity: normal

Tags: patch

Done: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Andy Tai <atai <at> atai.org>
Subject: bug#61448: closed (Re: bug#61448: [PATCH] ignu: opencv: Update to
 4.6.0)
Date: Wed, 22 Mar 2023 18:22:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#61448: [PATCH] ignu: opencv: Update to 4.6.0

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 61448 <at> debbugs.gnu.org.

-- 
61448: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=61448
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Andy Tai <atai <at> atai.org>
Cc: 61448-done <at> debbugs.gnu.org
Subject: Re: bug#61448: [PATCH] ignu: opencv: Update to 4.6.0
Date: Wed, 22 Mar 2023 14:21:10 -0400
Hello,

Andy Tai <atai <at> atai.org> writes:

> * gnu/packages/image-processing.scm (opencv-next): New variable
>   as opencv (4.5.4) is depended on by aiscm which does not build
>   with later opencv (4.6.0 and later) so make later opencv release
>   as opencv-next, now at version 4.7.0

There's no need to repeat the explanation in the change log, as it's
written in the code as a comment, where it belongs.

> ---
>  gnu/packages/image-processing.scm | 79 +++++++++++++++++++++++++++++++
>  1 file changed, 79 insertions(+)
>
> diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm
> index 70c820e76b..0482984e32 100644
> --- a/gnu/packages/image-processing.scm
> +++ b/gnu/packages/image-processing.scm
> @@ -673,6 +673,85 @@ (define-public opencv
>      (home-page "https://opencv.org/")
>      (license license:bsd-3)))
>  
> +;; aiscm depends on opencv 4.5.4 so we cannot just update opencv to 4.7.0
> +;; for now we place newer opencv as opencv-next
> +(define-public opencv-next
> +  (package
> +    (inherit opencv)
> +    (name "opencv-next")

You can leave the name as "opencv", so users doing 'guix install opencv'
will get the latest version.  The only time where it may be better use
use "-next" in the name, is when both versions are expected to be
propagated together and found in the same profile, where they'd conflict
if same-named (that's very niche though).

> +    (version "4.7.0")
> +    (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url "https://github.com/opencv/opencv")
> +                    (commit version)))
> +              (file-name (git-file-name name version))
> +              (sha256
> +               (base32
> +                "0l45v41nns2jmn9nr9fb0yvhqzfjpxjxn75i1c02rsfy3r3lv22v"))
> +              (modules '((guix build utils)))
> +              (snippet '(begin
> +                          ;; Remove external libraries. We have almost all available
> +                          ;; in Guix:
> +                          (with-directory-excursion "3rdparty"
> +                            (for-each delete-file-recursively
> +                                      '("carotene" "cpufeatures"
> +                                        "ffmpeg"
> +                                        "include"
> +                                        "ippicv"
> +                                        "ittnotify"
> +                                        "libjasper"
> +                                        "libjpeg"
> +                                        "libjpeg-turbo"
> +                                        "libpng"
> +                                        "libtengine"
> +                                        "libtiff"
> +                                        "libwebp"
> +                                        "openexr"
> +                                        "openjpeg"
> +                                        "openvx"
> +                                        "protobuf"
> +                                        ;; "quirc"
> +                                        "tbb"
> +                                        "zlib")))
> +
> +                          ;; Some jars found:
> +                          (for-each delete-file
> +                                    '("modules/java/test/pure_test/lib/junit-4.11.jar"

[...]

> +    (native-inputs `(("pkg-config" ,pkg-config)
> +                     ("xorg-server" ,xorg-server-for-tests) ;For running the tests
> +                     ("opencv-extra" ,(origin
> +                                        (method git-fetch)
> +                                        (uri (git-reference (url
> +                                                             "https://github.com/opencv/opencv_extra")
> +                                                            (commit version)))
> +                                        (file-name (git-file-name
> +                                                    "opencv_extra" version))
> +                                        (sha256 (base32
> +                                                 "0bdg5kwwdimnl2zp4ry5cmfxr9xb7zk2ml59853d90llsqjis47a"))))
> +                     ("opencv-contrib" ,(origin
> +                                          (method git-fetch)
> +                                          (uri (git-reference (url
> +                                                               "https://github.com/opencv/opencv_contrib")
> +                                                              (commit version)))
> +                                          (file-name (git-file-name
> +                                                      "opencv_contrib" version))
> +                                          (sha256 (base32
> +                                                   "0hbfn835kxh3hwmwvzgdglm2np1ri3z7nfnf60gf4x6ikp89mv4r"))))))

This indentation is way off; was this 'guix style'?

> +    (arguments
> +     (substitute-keyword-arguments (package-arguments opencv)
> +       ((#:phases phases
> +         '%standard-phases)
> +        `(modify-phases ,phases
> +           (add-after 'unpack 'disable-broken-tests-opencv-4.7-specific
> +             (lambda _
> +               (substitute* "modules/dnn/test/test_layers.cpp"
> +                 (("(TEST_P\\(Test_Caffe_layers, )(Interp\\).*)"
> +                   all pre post)
> +                  (string-append pre "DISABLED_" post)))))))))))
> +
>  (define-public vips
>    (package
>      (name "vips")
>
> base-commit: a97a102d21edc0c9624cf92c1fbc0c01b1067290

I've made the adjustments below;

--8<---------------cut here---------------start------------->8---
@@ -699,11 +699,11 @@ (define-public opencv
     (home-page "https://opencv.org/")
     (license license:bsd-3)))
 
-;; TODO: Make the default opencv after aiscm can use a newer one.
+;; TODO: Make this the default opencv after aiscm is able to use it.
 (define-public opencv-next
   (package
     (inherit opencv)
-    (name "opencv-next")
+    (name "opencv")
     (version "4.7.0")
     (source (origin
               (method git-fetch)
@@ -711,71 +711,70 @@ (define-public opencv-next
                     (url "https://github.com/opencv/opencv")
                     (commit version)))
               (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "0l45v41nns2jmn9nr9fb0yvhqzfjpxjxn75i1c02rsfy3r3lv22v"))
               (modules '((guix build utils)))
-              (snippet '(begin
-                          ;; Remove external libraries. We have almost all available
-                          ;; in Guix:
-                          (with-directory-excursion "3rdparty"
-                            (for-each delete-file-recursively
-                                      '("carotene" "cpufeatures"
-                                        "ffmpeg"
-                                        "include"
-                                        "ippicv"
-                                        "ittnotify"
-                                        "libjasper"
-                                        "libjpeg"
-                                        "libjpeg-turbo"
-                                        "libpng"
-                                        "libtengine"
-                                        "libtiff"
-                                        "libwebp"
-                                        "openexr"
-                                        "openjpeg"
-                                        "openvx"
-                                        "protobuf"
-                                        ;; "quirc"
-                                        "tbb"
-                                        "zlib")))
-
-                          ;; Some jars found:
-                          (for-each delete-file
-                                    '("modules/java/test/pure_test/lib/junit-4.11.jar"
-                                      "samples/java/sbt/sbt/sbt-launch.jar"))))))
-    (native-inputs `(("pkg-config" ,pkg-config)
-                     ("xorg-server" ,xorg-server-for-tests) ;For running the tests
-                     ("opencv-extra" ,(origin
-                                        (method git-fetch)
-                                        (uri (git-reference (url
-                                                             "https://github.com/opencv/opencv_extra")
-                                                            (commit version)))
-                                        (file-name (git-file-name
-                                                    "opencv_extra" version))
-                                        (sha256 (base32
-                                                 "0bdg5kwwdimnl2zp4ry5cmfxr9xb7zk2ml59853d90llsqjis47a"))))
-                     ("opencv-contrib" ,(origin
-                                          (method git-fetch)
-                                          (uri (git-reference (url
-                                                               "https://github.com/opencv/opencv_contrib")
-                                                              (commit version)))
-                                          (file-name (git-file-name
-                                                      "opencv_contrib" version))
-                                          (sha256 (base32
-                                                   "0hbfn835kxh3hwmwvzgdglm2np1ri3z7nfnf60gf4x6ikp89mv4r"))))))
+              (snippet
+               '(begin
+                  ;; Remove external libraries.  Almost all of them are
+                  ;; available in Guix.
+                  (with-directory-excursion "3rdparty"
+                    (for-each delete-file-recursively
+                              '("carotene"
+                                "cpufeatures"
+                                "ffmpeg"
+                                "include"
+                                "ippicv"
+                                "ittnotify"
+                                "libjasper"
+                                "libjpeg"
+                                "libjpeg-turbo"
+                                "libpng"
+                                "libtengine"
+                                "libtiff"
+                                "libwebp"
+                                "openexr"
+                                "openjpeg"
+                                "openvx"
+                                "protobuf"
+                                ;;"quirc"
+                                "tbb"
+                                "zlib")))
 
+                  ;; Delete any bundled .jar files.
+                  (for-each delete-file (find-files "." "\\.jar$"))))
+              (sha256
+               (base32
+                "0l45v41nns2jmn9nr9fb0yvhqzfjpxjxn75i1c02rsfy3r3lv22v"))))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("xorg-server" ,xorg-server-for-tests) ;For running the tests
+       ("opencv-extra"
+        ,(origin
+           (method git-fetch)
+           (uri (git-reference
+                 (url "https://github.com/opencv/opencv_extra")
+                 (commit version)))
+           (file-name (git-file-name "opencv_extra" version))
+           (sha256
+            (base32
+             "0bdg5kwwdimnl2zp4ry5cmfxr9xb7zk2ml59853d90llsqjis47a"))))
+       ("opencv-contrib"
+        ,(origin
+           (method git-fetch)
+           (uri (git-reference (url "https://github.com/opencv/opencv_contrib")
+                               (commit version)))
+           (file-name (git-file-name "opencv_contrib" version))
+           (sha256
+            (base32
+             "0hbfn835kxh3hwmwvzgdglm2np1ri3z7nfnf60gf4x6ikp89mv4r"))))))
     (arguments
      (substitute-keyword-arguments (package-arguments opencv)
-       ((#:phases phases
-         '%standard-phases)
-        `(modify-phases ,phases
-           (add-after 'unpack 'disable-broken-tests-opencv-4.7-specific
-             (lambda _
-               (substitute* "modules/dnn/test/test_layers.cpp"
-                 (("(TEST_P\\(Test_Caffe_layers, )(Interp\\).*)"
-                   all pre post)
-                  (string-append pre "DISABLED_" post)))))))))))
+       ((#:phases phases '%standard-phases)
+        #~(modify-phases #$phases
+            (add-after 'unpack 'disable-broken-tests-opencv-4.7-specific
+              (lambda _
+                (substitute* "modules/dnn/test/test_layers.cpp"
+                  (("(TEST_P\\(Test_Caffe_layers, )(Interp\\).*)" _ pre post)
+                   (string-append pre "DISABLED_" post)))))))))))
 
 (define-public vips
   (package
--8<---------------cut here---------------end--------------->8---

And installed the change.  Thank you!

-- 
Thanks,
Maxim

[Message part 3 (message/rfc822, inline)]
From: Andy Tai <atai <at> atai.org>
To: guix-patches <at> gnu.org
Cc: Andy Tai <atai <at> atai.org>
Subject: [PATCH] ignu: opencv: Update to 4.6.0
Date: Sat, 11 Feb 2023 21:22:08 -0800
* gnu/packages/image-processing.scm (opencv): Update to 4.6.0
---
 gnu/packages/image-processing.scm | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm
index 70c820e76b..1ae474b6cd 100644
--- a/gnu/packages/image-processing.scm
+++ b/gnu/packages/image-processing.scm
@@ -460,7 +460,7 @@ (define-public vtk-7
 (define-public opencv
   (package
     (name "opencv")
-    (version "4.5.4")
+    (version "4.6.0")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -469,7 +469,7 @@ (define-public opencv
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0gf2xs3r4s51m20mpf0wdidpk0xzp3m2w6jx72fwldhn0pshlmcj"))
+                "1avd51fxmy0jp09qgxj5x3dpbl3n9x7hg2mm7ma6ak9g52ayrdl5"))
               (modules '((guix build utils)))
               (snippet
                '(begin
@@ -617,7 +617,7 @@ (define-public opencv
                  (commit version)))
            (file-name (git-file-name "opencv_extra" version))
            (sha256
-            (base32 "1fg2hxdvphdvagc2fkmhqk7qql9mp7pj2bmp8kmd7vicpr72qk82"))))
+            (base32 "17658qwpjn0s4zcn5q0sca7fzkcihzrs9lddvbn78wa8w496gwpp"))))
        ("opencv-contrib"
         ,(origin
            (method git-fetch)
@@ -626,7 +626,7 @@ (define-public opencv
                  (commit version)))
            (file-name (git-file-name "opencv_contrib" version))
            (sha256
-            (base32 "0ga0l4ranp1834gxgp487ll1amvmssa02l2nk5ja5w0rx4d8hh26"))))))
+            (base32 "1layhlajm2v5y22vl1cvcg3z9rikg78z6cl1w3nkwjvqnm7nld46"))))))
     (inputs
      (list ffmpeg-4
            gtk+
-- 
2.39.1




This bug report was last modified 2 years and 62 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.