aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/image-processing.scm
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2023-03-22 17:04:59 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2023-03-22 21:45:29 -0400
commitb58bac0086a58ea00fd4e2f94e552bab7ebc9b8b (patch)
tree4de1bb819e013e39e61e24d51b6ddfb084e848f1 /gnu/packages/image-processing.scm
parentec730083be041a78da9484e8649e7b5bfe08c6d2 (diff)
downloadguix-b58bac0086a58ea00fd4e2f94e552bab7ebc9b8b.tar
guix-b58bac0086a58ea00fd4e2f94e552bab7ebc9b8b.tar.gz
gnu: opencv: Absorb opencv-next.
* gnu/packages/image-processing.scm (opencv): Absorb opencv-next, updating package to 4.7.0. [arguments]: Simplify the regexps in the disable-broken-tests phase, to make it easier to understand. Simply remove the removed lined in the do-not-install-3rdparty-file phase, instead of leaving it blank.
Diffstat (limited to 'gnu/packages/image-processing.scm')
-rw-r--r--gnu/packages/image-processing.scm142
1 files changed, 30 insertions, 112 deletions
diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm
index 98afe4f342..41ee0a8824 100644
--- a/gnu/packages/image-processing.scm
+++ b/gnu/packages/image-processing.scm
@@ -486,21 +486,18 @@ integrates with various databases on GUI toolkits such as Qt and Tk.")
(define-public opencv
(package
(name "opencv")
- (version "4.5.4")
+ (version "4.7.0")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/opencv/opencv")
- (commit version)))
+ (url "https://github.com/opencv/opencv")
+ (commit version)))
(file-name (git-file-name name version))
- (sha256
- (base32
- "0gf2xs3r4s51m20mpf0wdidpk0xzp3m2w6jx72fwldhn0pshlmcj"))
(modules '((guix build utils)))
(snippet
'(begin
- ;; Remove external libraries. We have almost all available
- ;; in Guix:
+ ;; Remove external libraries. Almost all of them are
+ ;; available in Guix.
(with-directory-excursion "3rdparty"
(for-each delete-file-recursively
'("carotene"
@@ -524,20 +521,18 @@ integrates with various databases on GUI toolkits such as Qt and Tk.")
"tbb"
"zlib")))
- ;; Milky icon set is non-free:
- (delete-file-recursively "modules/highgui/src/files_Qt/Milky")
-
- ;; Some jars found:
- (for-each delete-file
- '("modules/java/test/pure_test/lib/junit-4.11.jar"
- "samples/java/sbt/sbt/sbt-launch.jar"))))))
+ ;; Delete any bundled .jar files.
+ (for-each delete-file (find-files "." "\\.jar$"))))
+ (sha256
+ (base32
+ "0l45v41nns2jmn9nr9fb0yvhqzfjpxjxn75i1c02rsfy3r3lv22v"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
- (list "-DWITH_ADE=OFF" ;we don't have a package for ade yet
+ (list "-DWITH_ADE=OFF" ;we don't have a package for ade yet
"-DWITH_IPP=OFF"
"-DWITH_ITT=OFF"
- "-DWITH_CAROTENE=OFF" ; only visible on arm/aarch64
+ "-DWITH_CAROTENE=OFF" ; only visible on arm/aarch64
"-DENABLE_PRECOMPILED_HEADERS=OFF"
"-DOPENCV_GENERATE_PKGCONFIG=ON"
@@ -595,22 +590,20 @@ integrates with various databases on GUI toolkits such as Qt and Tk.")
;; This test fails with "unknown file: Failure"
;; But I couldn't figure out which file was missing:
(substitute* "../opencv-contrib/modules/face/test/test_face_align.cpp"
- (("(TEST\\(CV_Face_FacemarkKazemi, )(can_detect_landmarks\\).*)"
- all pre post)
- (string-append pre "DISABLED_" post)))
+ (("\\bcan_detect_landmarks\\b" all)
+ (string-append "DISABLED_" all)))
- ;; This test fails with a comparison between the expected 396 and
+ ;; This all fails with a comparison between the expected 396 and
;; the actual 440 in file size.
(substitute* "modules/imgcodecs/test/test_exr.impl.hpp"
- (("(TEST\\(Imgcodecs_EXR, )(readWrite_32FC1\\).*)" all pre post)
- (string-append pre "DISABLED_" post)))
+ (("\\breadWrite_32FC1\\b" all)
+ (string-append "DISABLED_" all)))
;; These fail with protobuf parse errors that come from
- ;; opencv-extra/testdata.
+ ;; opencv-extra/alldata.
(substitute* "modules/dnn/test/test_layers.cpp"
- (("(TEST_P\\(Test_Caffe_layers, )\
-(Accum\\).*|DataAugmentation\\).*|Resample\\).*|Correlation\\).*)" all pre post)
- (string-append pre "DISABLED_" post)))))
+ (("\\b(Accum|DataAugmentation|Resample|Correlation|Interp)\\b" all)
+ (string-append "DISABLED_" all)))))
(add-after 'unpack 'unpack-submodule-sources
(lambda* (#:key inputs #:allow-other-keys)
(mkdir "../opencv-extra")
@@ -622,7 +615,8 @@ integrates with various databases on GUI toolkits such as Qt and Tk.")
(add-after 'build 'do-not-install-3rdparty-file
(lambda _
(substitute* "cmake_install.cmake"
- (("file\\(INSTALL .*source/3rdparty/include/opencl/LICENSE.txt.*") "\n"))))
+ (("file\\(INSTALL .*3rdparty/include/opencl/LICENSE.txt.*")
+ ""))))
(add-before 'check 'start-xserver
(lambda* (#:key inputs #:allow-other-keys)
(let ((xorg-server (assoc-ref inputs "xorg-server"))
@@ -634,7 +628,7 @@ integrates with various databases on GUI toolkits such as Qt and Tk.")
(zero? (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp)))))))))
(native-inputs
`(("pkg-config" ,pkg-config)
- ("xorg-server" ,xorg-server-for-tests) ; For running the tests
+ ("xorg-server" ,xorg-server-for-tests) ;For running the tests
("opencv-extra"
,(origin
(method git-fetch)
@@ -643,23 +637,24 @@ integrates with various databases on GUI toolkits such as Qt and Tk.")
(commit version)))
(file-name (git-file-name "opencv_extra" version))
(sha256
- (base32 "1fg2hxdvphdvagc2fkmhqk7qql9mp7pj2bmp8kmd7vicpr72qk82"))))
+ (base32
+ "0bdg5kwwdimnl2zp4ry5cmfxr9xb7zk2ml59853d90llsqjis47a"))))
("opencv-contrib"
,(origin
(method git-fetch)
- (uri (git-reference
- (url "https://github.com/opencv/opencv_contrib")
- (commit version)))
+ (uri (git-reference (url "https://github.com/opencv/opencv_contrib")
+ (commit version)))
(file-name (git-file-name "opencv_contrib" version))
(sha256
- (base32 "0ga0l4ranp1834gxgp487ll1amvmssa02l2nk5ja5w0rx4d8hh26"))))))
+ (base32
+ "0hbfn835kxh3hwmwvzgdglm2np1ri3z7nfnf60gf4x6ikp89mv4r"))))))
(inputs
(list ffmpeg-4
gtk+
gtkglext
hdf5
ilmbase
- imath ;should be propagated by openexr
+ imath ;should be propagated by openexr
jasper
libgphoto2
libjpeg-turbo
@@ -699,83 +694,6 @@ things like:
(home-page "https://opencv.org/")
(license license:bsd-3)))
-;; TODO: Make this the default opencv after aiscm is able to use it.
-(define-public opencv-next
- (package
- (inherit opencv)
- (name "opencv")
- (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))
- (modules '((guix build utils)))
- (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\\).*)" _ pre post)
- (string-append pre "DISABLED_" post)))))))))))
-
(define-public vips
(package
(name "vips")