unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
To: Andy Tai <atai@atai.org>
Cc: 61448-done@debbugs.gnu.org
Subject: bug#61448: [PATCH] ignu: opencv: Update to 4.6.0
Date: Wed, 22 Mar 2023 14:21:10 -0400	[thread overview]
Message-ID: <878rfohckp.fsf_-_@gmail.com> (raw)
In-Reply-To: <20230215161022.18686-1-atai@atai.org> (Andy Tai's message of "Wed, 15 Feb 2023 08:10:22 -0800")

Hello,

Andy Tai <atai@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




      reply	other threads:[~2023-03-22 18:22 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-12  5:22 [bug#61448] [PATCH] ignu: opencv: Update to 4.6.0 Andy Tai
2023-02-12  5:24 ` [bug#61448] [PATCH v2] gnu: " Andy Tai
2023-02-12 22:12 ` [bug#61448] aiscm build error Andy Tai
2023-02-12 23:36 ` [bug#61448] [PATCH v3] gnu: opencv: Update to 4.7.0 Andy Tai
2023-02-15 16:08 ` [bug#61448] [PATCH v4] gnu: Add opemncv-next Andy Tai
2023-02-15 16:10 ` [bug#61448] [PATCH v5] gnu: Add opencv-next Andy Tai
2023-03-22 18:21   ` Maxim Cournoyer [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=878rfohckp.fsf_-_@gmail.com \
    --to=maxim.cournoyer@gmail.com \
    --cc=61448-done@debbugs.gnu.org \
    --cc=atai@atai.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).