Merge branch 'master' into core-updates.

Conflicts:
	gnu/local.mk
	gnu/packages/build-tools.scm
	gnu/packages/certs.scm
	gnu/packages/check.scm
	gnu/packages/compression.scm
	gnu/packages/cups.scm
	gnu/packages/fontutils.scm
	gnu/packages/gnuzilla.scm
	gnu/packages/guile.scm
	gnu/packages/ibus.scm
	gnu/packages/image-processing.scm
	gnu/packages/linux.scm
	gnu/packages/music.scm
	gnu/packages/nss.scm
	gnu/packages/pdf.scm
	gnu/packages/python-xyz.scm
	gnu/packages/qt.scm
	gnu/packages/ruby.scm
	gnu/packages/shells.scm
	gnu/packages/tex.scm
	gnu/packages/video.scm
	gnu/packages/vulkan.scm
	gnu/packages/web.scm
	gnu/packages/webkit.scm
	gnu/packages/wm.scm
This commit is contained in:
Maxim Cournoyer 2023-04-14 16:57:37 -04:00
commit 3bacd3c76a
No known key found for this signature in database
GPG key ID: 1260E46482E63562
231 changed files with 20528 additions and 7891 deletions

View file

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 John Darrington <jmd@gnu.org>
;;; Copyright © 2017, 2019, 2022 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2014, 2021-2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2021-2023 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 20182021 Tobias Geerinckx-Rice <me@tobias.gr>
@ -352,36 +352,59 @@ many popular formats.")
(properties `((release-monitoring-url . "https://vtk.org/download/")))
(build-system cmake-build-system)
(arguments
'(#:build-type "Release" ;Build without '-g' to save space.
#:configure-flags '(;"-DBUILD_TESTING:BOOL=TRUE"
; ; not honored
"-DVTK_USE_EXTERNAL=OFF" ;; default
"-DVTK_MODULE_USE_EXTERNAL_VTK_doubleconversion=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_eigen=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_expat=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_freetype=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_gl2ps=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_glew=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_hdf5=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_jpeg=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_jsoncpp=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_libharu=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_libproj=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_libxml2=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_lz4=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_netcdf=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_ogg=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_png=ON"
;"-DVTK_MODULE_USE_EXTERNAL_VTK_pugixml=ON" ; breaks IO/CityGML
"-DVTK_MODULE_USE_EXTERNAL_VTK_sqlite=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_theora=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_tiff=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_zlib=ON"
"-DVTK_MODULE_ENABLE_VTK_RenderingExternal=YES" ; For F3D
"-DVTK_WRAP_PYTHON=ON"
"-DVTK_PYTHON_VERSION:STRING=3"
)
#:tests? #f)) ;XXX: test data not included
(list #:build-type "Release" ;Build without '-g' to save space.
#:configure-flags
#~'( ;;"-DBUILD_TESTING:BOOL=TRUE" ;not honored
"-DVTK_USE_EXTERNAL=OFF" ;default
"-DVTK_MODULE_USE_EXTERNAL_VTK_doubleconversion=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_eigen=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_expat=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_freetype=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_gl2ps=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_glew=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_hdf5=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_jpeg=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_jsoncpp=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_libharu=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_libproj=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_libxml2=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_lz4=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_netcdf=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_ogg=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_png=ON"
;;"-DVTK_MODULE_USE_EXTERNAL_VTK_pugixml=ON" ;breaks IO/CityGML
"-DVTK_MODULE_USE_EXTERNAL_VTK_sqlite=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_theora=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_tiff=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_zlib=ON"
"-DVTK_MODULE_ENABLE_VTK_RenderingExternal=YES" ;for F3D
"-DVTK_WRAP_PYTHON=ON"
"-DVTK_PYTHON_VERSION:STRING=3"
"-DVTK_SMP_ENABLE_OPENNMP=ON"
"-DVTK_SMP_ENABLE_TBB=ON"
"-DVTK_USE_MPI=ON"
)
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'clear-reference-to-compiler
(lambda _
(define (choose . files)
(let loop ((files files))
(if (null? files)
#f
(if (file-exists? (car files))
(car files)
(loop (cdr files))))))
;; Do not retain a reference to GCC.
(substitute* (choose
"Common/Core/vtkConfigureDeprecated.h.in" ;v9.x
"Common/Core/vtkConfigure.h.in") ;v7.x
(("@CMAKE_CXX_COMPILER@") "c++")))))
#:tests? #f)) ;XXX: test data not included
(inputs
(list double-conversion
eigen
@ -402,17 +425,20 @@ many popular formats.")
mesa
netcdf
libpng
libtiff
openmpi
proj
python
;("pugixml" ,pugixml)
sqlite
libtiff
xorgproto
zlib))
(propagated-inputs
;; VTK's 'VTK-vtk-module-find-packages.cmake' calls
;; 'find_package(THEORA)', which in turns looks for libogg.
(list libogg))
;; 'find_package(THEORA)', which in turns looks for libogg. Likewise for
;; TBB.
(list libogg
tbb))
(home-page "https://vtk.org/")
(synopsis "Libraries for 3D computer graphics")
(description
@ -446,7 +472,7 @@ integrates with various databases on GUI toolkits such as Qt and Tk.")
((#:configure-flags flags)
;; Otherwise, the build would fail with: "error: invalid conversion
;; from const char* to char* [-fpermissive]".
`(cons "-DCMAKE_CXX_FLAGS=-fpermissive" ,flags))
#~(cons "-DCMAKE_CXX_FLAGS=-fpermissive" #$flags))
((#:phases phases)
#~(modify-phases #$phases
(add-after 'unpack 'remove-kernel-version
@ -460,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"
@ -498,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"
@ -569,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")
@ -596,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"))
@ -608,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)
@ -617,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
@ -669,7 +690,10 @@ things like:
@item structure from motion
@item augmented reality
@item machine learning
@end itemize\n")
@end itemize\n
This package includes the Python bindings for OpenCV, which are also known as
the OpenCV-Python library.")
(home-page "https://opencv.org/")
(license license:bsd-3)))