--- Begin Message ---
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
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#61448: [PATCH] ignu: opencv: Update to 4.6.0 |
Date: |
Wed, 22 Mar 2023 14:21:10 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) |
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
--- End Message ---