aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/graphics.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/graphics.scm')
-rw-r--r--gnu/packages/graphics.scm279
1 files changed, 152 insertions, 127 deletions
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index a565000180..2a52362775 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -28,7 +28,7 @@
;;; Copyright © 2021 Ekaitz Zarraga <ekaitz@elenq.tech>
;;; Copyright © 2021, 2022 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2022 Michael Rohleder <mike@rohleder.de>
-;;; Copyright © 2022, 2023 John Kehayias <john.kehayias@protonmail.com>
+;;; Copyright © 2022, 2023, 2024 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2022 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2022 Tobias Kortkamp <tobias.kortkamp@gmail.com>
;;; Copyright © 2022 Paul A. Patience <paul@apatience.com>
@@ -74,12 +74,14 @@
#:use-module (gnu packages fonts)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
+ #:use-module (gnu packages game-development)
#:use-module (gnu packages gettext)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gnunet)
+ #:use-module (gnu packages gnuzilla)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
@@ -141,7 +143,8 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix deprecation)
- #:use-module (guix utils))
+ #:use-module (guix utils)
+ #:use-module (ice-9 match))
(define-public mmm
(package
@@ -475,7 +478,7 @@ applications.")
(define-public openvdb
(package
(name "openvdb")
- (version "8.2.0")
+ (version "11.0.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -485,14 +488,14 @@ applications.")
(file-name (git-file-name name version))
(sha256
(base32
- "0856697hnwk8xsp29kx8y2p1kliy0bdwfsznxm38v4690vna15rk"))))
+ "0r6q7bl8513ggrvx3n73j1s3f7n5x1rxy5xi471qyrya95gy6c60"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
(list (string-append "-DCMAKE_EXE_LINKER_FLAGS=-Wl,-rpath="
(assoc-ref %outputs "out") "/lib"))))
(inputs
- (list boost c-blosc ilmbase tbb zlib))
+ (list boost c-blosc jemalloc tbb zlib))
(native-inputs
(list pkg-config))
(home-page "https://www.openvdb.org/")
@@ -507,14 +510,14 @@ typically encountered in feature film production.")
(define-public blender
(package
(name "blender")
- (version "3.3.5") ;3.3.x is the current LTS version
+ (version "3.6.10") ;3.6.x is the current LTS version
(source (origin
(method url-fetch)
(uri (string-append "https://download.blender.org/source/"
"blender-" version ".tar.xz"))
(sha256
(base32
- "1pwl4lbc00g0bj97rd8l9fnrv3w1gny9ci6mrma3pp2acgs56502"))))
+ "1srwr365y40hhpjmfsg52rphdybvin0ay2r23pknm7b9pkpw0wqs"))))
(build-system cmake-build-system)
(arguments
(list
@@ -535,6 +538,11 @@ typically encountered in feature film production.")
"-DWITH_OPENVDB=ON"
"-DWITH_OPENSUBDIV=ON"
"-DWITH_PYTHON_INSTALL=OFF"
+ "-DWITH_SYSTEM_BULLET=ON"
+ "-DWITH_SYSTEM_EIGEN3=ON"
+ "-DWITH_SYSTEM_FREETYPE=ON"
+ "-DWITH_SYSTEM_GLOG=ON"
+ "-DWITH_SYSTEM_LZO=ON"
(string-append "-DPYTHON_LIBRARY=python" #$python-version)
(string-append "-DPYTHON_LIBPATH="
(assoc-ref %build-inputs "python")
@@ -550,32 +558,22 @@ typically encountered in feature film production.")
(string-append "-DPYTHON_NUMPY_PATH="
(assoc-ref %build-inputs "python-numpy")
"/lib/python" #$python-version
- "/site-packages/")
- ;; OpenEXR propagates ilmbase, but its include files do not
- ;; appear in the C_INCLUDE_PATH, so we need to add
- ;; "$ilmbase/include/OpenEXR/" to the C_INCLUDE_PATH to
- ;; satisfy the dependency on "half.h" and "Iex.h".
- (string-append "-DCMAKE_CXX_FLAGS=-I"
- (search-input-directory %build-inputs
- "include/OpenEXR"))))
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'fix-broken-import
- (lambda _
- (substitute* "release/scripts/addons/io_scene_fbx/json2fbx.py"
- (("import encode_bin")
- "from . import encode_bin")))))))
+ "/site-packages/")))))
(inputs
(list boost
+ bullet
+ eigen
embree
ffmpeg-5
fftw
- freetype
+ freetype-with-brotli
glew
+ glog
gmp ;needed for boolean operations on meshes
- ilmbase
+ imath
jack-1
jemalloc
+ libepoxy
libjpeg-turbo
libpng
libsndfile
@@ -583,9 +581,10 @@ typically encountered in feature film production.")
libx11
libxi
libxrender
+ lzo
openal
opencolorio
- openexr-2
+ openexr
openimageio
openjpeg
opensubdiv
@@ -721,7 +720,7 @@ baking tools to produce normal maps.")
(define-public openshadinglanguage
(package
(name "openshadinglanguage")
- (version "1.11.16.0")
+ (version "1.13.8.0")
(source
(origin
(method git-fetch)
@@ -730,52 +729,46 @@ baking tools to produce normal maps.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0x0lc163vl2b57l75bf5zxlr6vm2y1f1izlxdnrw3vsapv3r9k9g"))))
+ (base32 "1ji4bw8z4ylsh0jvir3d40p6xyhr63g588gh3bag7bzsr3flsb02"))))
(build-system cmake-build-system)
(arguments
- `(#:configure-flags (list "-DUSE_PARTIO=OFF") ; TODO: not packaged
- #:phases
- (modify-phases %standard-phases
- (add-after 'set-paths 'add-ilmbase-include-path
- (lambda* (#:key inputs #:allow-other-keys)
- ;; OpenEXR 2 propagates ilmbase, but its include files do not
- ;; appear in the C_INCLUDE_PATH.
- (let ((headers (string-append
- (assoc-ref inputs "ilmbase")
- "/include/OpenEXR")))
- (setenv "C_INCLUDE_PATH"
- (string-append headers ":"
- (or (getenv "C_INCLUDE_PATH") "")))
- (setenv "CPLUS_INCLUDE_PATH"
- (string-append headers ":"
- (or (getenv "CPLUS_INCLUDE_PATH") ""))))))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "ctest" "--exclude-regex"
- (string-join
- (list
- "osl-imageio" ; OIIO not compiled with freetype
- "osl-imageio.opt" ; OIIO not compiled with freetype
- "texture-udim" ; file does not exist
- "texture-udim.opt" ; file does not exist
- "example-deformer" ; could not find OSLConfig
- "python-oslquery") ; no module oslquery
- "|"))))))))
+ (list #:configure-flags
+ #~(list "-DUSE_PARTIO=OFF" ; TODO: not packaged
+ (string-append "-DLLVM_BC_GENERATOR="
+ #$(this-package-native-input "clang")
+ "/bin/clang++"))
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke
+ "ctest" "--exclude-regex"
+ (string-join
+ (list
+ "osl-imageio" ; file does not exist
+ "osl-imageio.opt" ; file does not exist
+ "osl-imageio.opt.rs_bitcode" ; file does not exist
+ "texture-udim" ; file does not exist
+ "texture-udim.opt" ; file does not exist
+ "texture-udim.opt.rs_bitcode" ; file does not exist
+ "example-deformer" ; could not find OSLConfig
+ "python-oslquery") ; no module oslquery
+ "|"))))))))
(native-inputs
(list bison
- clang-9
+ clang
flex
- llvm-9
+ llvm
pybind11
python-wrapper))
(inputs
(list boost
imath
- openexr-2
+ openexr
openimageio
pugixml
- qtbase-5
+ qtbase
zlib))
(home-page "https://github.com/AcademySoftwareFoundation/OpenShadingLanguage")
(synopsis "Shading language for production GI renderers")
@@ -899,9 +892,9 @@ exception-handling library.")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://gitlab.com/inkscape/lib2geom.git")
+ (url "https://gitlab.com/inkscape/lib2geom")
(commit version)))
- (file-name (git-file-name name version))
+ (file-name (git-file-name "lib2geom" version))
(sha256
(base32
"1ypcn0yxk9ny7qg8s8h3px2wpimhfgkwk7x1548ky12iqmdjjmcn"))))
@@ -1220,7 +1213,7 @@ graphics.")
(define-public openexr
(package
(name "openexr")
- (version "3.1.3")
+ (version "3.2.4")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1230,16 +1223,23 @@ graphics.")
(file-name (git-file-name name version))
(sha256
(base32
- "0c9vla0kbsbbhkk42jlbf94nzfb1anqh7dy9b0b3nna1qr6v4bh6"))))
+ "00s1a05kggk71vfbnsvykyjc2j7y6yyzgl63sy4yiddshz2k2mcr"))))
(build-system cmake-build-system)
(arguments
- (list #:phases
+ (list #:configure-flags
+ #~(list #$@(match (%current-system)
+ ;; A test explicitly checks for SSE2 (would fail on
+ ;; i686-linux), so make sure it is enabled for both C
+ ;; and CPP.
+ ((or "x86_64-linux" "i686-linux")
+ '("-DCMAKE_CXX_FLAGS=-mfpmath=sse -msse2"
+ "-DCMAKE_C_FLAGS=-mfpmath=sse -msse2"))
+ (_ '())))
+ #:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-test-directory
(lambda _
(substitute* (list
- "src/test/OpenEXRUtilTest/tmpDir.h"
- "src/test/OpenEXRFuzzTest/tmpDir.h"
"src/test/OpenEXRTest/tmpDir.h"
"src/test/OpenEXRCoreTest/main.cpp")
(("/var/tmp")
@@ -1267,7 +1267,10 @@ graphics.")
"")
(("TEST \\(testOptimizedInterleavePatterns, \"basic\"\\);")
"")))))))))
- (inputs (list imath zlib))
+ (inputs (list imath))
+ (propagated-inputs
+ ;; Marked as Requires.private in OpenEXR.pc.
+ (list libdeflate))
(home-page "https://www.openexr.com/")
(synopsis "High-dynamic-range file format library")
(description
@@ -1333,40 +1336,38 @@ with strong support for multi-part, multi-channel use cases.")
(define-public openimageio
(package
(name "openimageio")
- (version "2.2.21.0")
+ (version "2.5.10.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/OpenImageIO/oiio")
- (commit (string-append "Release-" version))))
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
- "0aicxbshzv1g9d8d08vsj1a9klaycxaifvvp565qjv70wyma2vkr"))))
+ "06x3lqj9qjh5m0zbr5g2g9ii6jk340pgzrhr4fb353y1y2pkx5sw"))))
(build-system cmake-build-system)
- ;; FIXME: To run all tests successfully, test image sets from multiple
- ;; third party sources have to be present. For details see
- ;; <https://github.com/OpenImageIO/oiio/blob/master/INSTALL.md>
(arguments
- `(#:tests? #f
- #:configure-flags (list "-DUSE_EXTERNAL_PUGIXML=1")))
+ (list #:tests? #f ; half the tests require online data or use redirection
+ #:configure-flags #~(list "-DUSE_EXTERNAL_PUGIXML=1"
+ "-DOIIO_BUILD_TESTS=false")))
(native-inputs
(list pkg-config))
(inputs
- `(("boost" ,boost)
- ("fmt" ,fmt-8)
- ("libheif" ,libheif)
- ("libpng" ,libpng)
- ("libjpeg" ,libjpeg-turbo)
- ("libtiff" ,libtiff)
- ("giflib" ,giflib)
- ("openexr" ,openexr-2)
- ("ilmbase" ,ilmbase)
- ("pugixml" ,pugixml)
- ("python" ,python-wrapper)
- ("pybind11" ,pybind11)
- ("robin-map" ,robin-map)
- ("zlib" ,zlib)))
+ (list boost
+ fmt
+ giflib
+ imath
+ libheif
+ libjpeg-turbo
+ libpng
+ libtiff
+ openexr
+ pugixml
+ pybind11
+ python-wrapper
+ robin-map
+ zlib))
(synopsis "C++ library for reading and writing images")
(description
"OpenImageIO is a library for reading and writing images, and a bunch of
@@ -1903,7 +1904,7 @@ requirements.")
(define-public opensubdiv
(package
(name "opensubdiv")
- (version "3.4.0")
+ (version "3.6.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1913,20 +1914,19 @@ requirements.")
(file-name (git-file-name name version))
(sha256
(base32
- "0cippg6aqc5dlya1cmh3908pwssrg52fwgyylnvz5343yrxmgk12"))))
+ "0h9scxiigijzlpv4r0s0nhxlndhv1cmarb2bqgmlwcln1jjvlb4n"))))
(build-system cmake-build-system)
(arguments
- `(#:phases (modify-phases %standard-phases
- (add-before 'configure 'set-glew-location
- (lambda* (#:key inputs #:allow-other-keys)
- (setenv "GLEW_LOCATION" (assoc-ref inputs "glew"))
- #t))
- (add-before 'check 'start-xorg-server
- (lambda* (#:key inputs #:allow-other-keys)
- ;; The test suite requires a running X server.
- (system "Xvfb :1 &")
- (setenv "DISPLAY" ":1")
- #t)))))
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'configure 'set-glew-location
+ (lambda _
+ (setenv "GLEW_LOCATION" #$(this-package-input "glew"))))
+ (add-before 'check 'start-xorg-server
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; The test suite requires a running X server.
+ (system "Xvfb :1 &")
+ (setenv "DISPLAY" ":1"))))))
(native-inputs
(list xorg-server-for-tests))
(inputs
@@ -1983,44 +1983,66 @@ or by subtracting one shape from the other.")
(home-page "https://www.opencsg.org/")
(license license:gpl2))))
-(define-public coin3D
+(define-public coin3d
(package
- (name "coin3D")
- (version "4.0.0")
+ (name "coin3d")
+ (version "4.0.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/coin3d/coin")
- (commit (string-append "Coin-" version))
+ (commit (string-append "v" version))
(recursive? #t)))
(file-name (git-file-name name version))
(sha256
- (base32 "1ayg0hl8wanhadahm5xbghghxw1qjwqbrs3dl3ngnff027hsyf8p"))
+ (base32 "1p59q67zc45pwicknsccvmby09snhz35725wr3xsh2v6kxza76a4"))
(modules '((guix build utils)))
(snippet
- '(begin
- ;; Delete binaries
- (for-each delete-file
- '("cfg/csubst.exe"
- "cfg/wrapmsvc.exe"))
- ;; Delete references to packaging tool cpack. Otherwise the build
- ;; fails with "add_subdirectory given source "cpack.d" which is not
- ;; an existing directory."
- (substitute* "CMakeLists.txt"
- ((".*cpack.d.*") ""))
- #t))))
+ #~(begin
+ ;; Delete binaries
+ (for-each delete-file
+ '("cfg/csubst.exe"
+ "cfg/wrapmsvc.exe"))
+ ;; Unbundle expat.
+ (delete-file-recursively "src/xml/expat")
+ (substitute* "src/xml/document.cpp"
+ (("expat/expat\\.h") "expat.h"))
+ ;; Delete references to packaging tool cpack. Otherwise the build
+ ;; fails with "add_subdirectory given source "cpack.d" which is not
+ ;; an existing directory."
+ (substitute* "CMakeLists.txt"
+ ((".*cpack.d.*") ""))))))
(build-system cmake-build-system)
+ (arguments
+ (list #:configure-flags
+ #~(list "-DCOIN_BUILD_DOCUMENTATION_MAN=ON"
+ "-DUSE_EXTERNAL_EXPAT=ON"
+ ;; Disable "runtime linking" of libraries, i.e. `dlopen`,
+ ;; force to use libraries at build time.
+ "-DFONTCONFIG_RUNTIME_LINKING=OFF"
+ "-DFREETYPE_RUNTIME_LINKING=OFF"
+ "-DLIBBZIP2_RUNTIME_LINKING=OFF"
+ "-DOPENAL_RUNTIME_LINKING=OFF"
+ ;"-DSIMAGE_RUNTIME_LINKING=OFF" -- Not packaged yet.
+ "-DZLIB_RUNTIME_LINKING=OFF"
+ "-DGLU_RUNTIME_LINKING=OFF"
+ ;"-DSPIDERMONKEY_RUNTIME_LINKING=OFF" -- Can't find mozjs.
+ (string-append "-DBOOST_ROOT="
+ #$(this-package-input "boost")))))
(native-inputs
(list doxygen graphviz))
(inputs
- (list boost freeglut glew))
- (arguments
- `(#:configure-flags
- (list
- "-DCOIN_BUILD_DOCUMENTATION_MAN=ON"
- (string-append "-DBOOST_ROOT="
- (assoc-ref %build-inputs "boost")))))
+ (list boost
+ bzip2
+ expat
+ fontconfig
+ freeglut
+ freetype
+ glew
+ libx11
+ openal
+ zlib))
(home-page "https://github.com/coin3d/coin")
(synopsis
"High-level 3D visualization library with Open Inventor 2.1 API")
@@ -2033,7 +2055,10 @@ library for 3D visualization and visual simulation software in the scientific
and engineering community.")
(license license:bsd-3)))
-(define-deprecated coin3D-4 coin3D)
+(define-deprecated coin3D coin3d)
+(export coin3D)
+
+(define-deprecated coin3D-4 coin3d)
(export coin3D-4)
(define-public skia