summaryrefslogtreecommitdiff
path: root/gnu/packages/graphics.scm
diff options
context:
space:
mode:
authorLiliana Marie Prikler <liliana.prikler@gmail.com>2023-10-23 21:09:49 +0200
committerLiliana Marie Prikler <liliana.prikler@gmail.com>2023-10-23 21:09:49 +0200
commite38d6a9c2fba815ac34e74baa843f15e33846813 (patch)
tree0a3dd602449386119fc15de32a5cf7e5f607b2a1 /gnu/packages/graphics.scm
parentda716c8b9cdc358609a368bd5da70b31cd97a938 (diff)
parentcbd20d627497053871db863970c07d93c7081786 (diff)
Merge branch 'master' into gnome-team
Change-Id: Ib6f55bebef2fb235fa59fd5442102a3e0ace3191
Diffstat (limited to 'gnu/packages/graphics.scm')
-rw-r--r--gnu/packages/graphics.scm99
1 files changed, 64 insertions, 35 deletions
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index 846533a9ec..e5a26ecc6d 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 John Kehayias <john.kehayias@protonmail.com>
+;;; Copyright © 2022, 2023 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>
@@ -121,6 +121,7 @@
#:use-module (gnu packages tbb)
#:use-module (gnu packages toolkits)
#:use-module (gnu packages upnp)
+ #:use-module (gnu packages version-control)
#:use-module (gnu packages video)
#:use-module (gnu packages vulkan)
#:use-module (gnu packages xiph)
@@ -1038,7 +1039,7 @@ distills complex, animated scenes into a set of baked geometric results.")
(define-public mangohud
(package
(name "mangohud")
- (version "0.6.8")
+ (version "0.7.0")
(source
(origin
(method git-fetch)
@@ -1047,21 +1048,18 @@ distills complex, animated scenes into a set of baked geometric results.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "19dp8l5njzl9xah0bhwlkl39vc8w2rnpvpdrhgaz3hnhz8b0r5df"))))
+ (base32 "1m4a2dqzqdhk9w1gvzppid7k0fxvplh5hmivvj9sda529s1g24rc"))))
(build-system meson-build-system)
(arguments
(list
#:build-type "release"
#:configure-flags
- #~(list "-Duse_system_vulkan=enabled"
- "-Duse_system_spdlog=enabled"
+ #~(list "-Duse_system_spdlog=enabled"
"-Dwith_xnvctrl=disabled"
- "-Dappend_libdir_mangohud=false"
- (string-append "-Dvulkan_datadir="
- #$(this-package-input "vulkan-headers") "/share"))
+ "-Dappend_libdir_mangohud=false")
#:phases
#~(modify-phases %standard-phases
- ;; Mangohud tries to build the imgui library as a meson submodule,
+ ;; MangoHud tries to build the imgui library as a meson submodule,
;; so we change the dependency to the imgui input instead.
(add-after 'unpack 'unbundle-imgui
(lambda _
@@ -1073,6 +1071,23 @@ distills complex, animated scenes into a set of baked geometric results.")
"declare_dependency(dependencies: "
"cpp.find_library('imgui'), include_directories: '"
#$(this-package-input "imgui") "/include/imgui')")))))
+ ;; Likewise, MangoHud bundles a Vulkan headers submodule to use a
+ ;; specific version, which we provide as an input and adjust the
+ ;; build accordingly.
+ (add-after 'unbundle-imgui 'unbundle-vulkan-headers
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "meson.build"
+ (("vkh_sp = .*")
+ "")
+ (("vkh_sp.get_variable\\('vulkan_api_xml'\\)")
+ (string-append "files('"
+ (search-input-file inputs "registry/vk.xml")
+ "')"))
+ (("dep_vulkan = .*")
+ ""))
+ (substitute* "src/meson.build"
+ (("dep_vulkan,")
+ ""))))
(add-after 'unpack 'patch-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/meson.build"
@@ -1098,11 +1113,20 @@ distills complex, animated scenes into a set of baked geometric results.")
libx11
mesa
mesa-utils
+ nlohmann-json
python-mako
spdlog
- vulkan-headers
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/KhronosGroup/Vulkan-Headers")
+ (commit "v1.2.158")))
+ (file-name (git-file-name "vulkan" "v1.2.158"))
+ (sha256
+ (base32
+ "0jvaqj87792yccpr290djb18pqaisspq9dw6bqim6mrhfgda9v76")))
vulkan-loader))
- (native-inputs (list pkg-config python))
+ (native-inputs (list git-minimal/pinned pkg-config python))
(home-page "https://github.com/flightlessmango/MangoHud/")
(synopsis "Vulkan and OpenGL overlay for monitoring performance and hardware")
(description "MangoHud is a Vulkan and OpenGL overlay for monitoring
@@ -2526,7 +2550,7 @@ generated discrete signed distance field using the cubic spline kernel.
(define-public mmg
(package
(name "mmg")
- (version "5.7.1")
+ (version "5.7.2")
(source
(origin
(method git-fetch)
@@ -2535,7 +2559,7 @@ generated discrete signed distance field using the cubic spline kernel.
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0skb7yzsw6y44zp9gb729i5xks7qd97nvn3z6jhz4jksqksx7lz0"))))
+ (base32 "007d0mvqhnxxj6dbcip9s615asrbpgrbkpm5xn6m8k3n9sljr153"))))
(build-system cmake-build-system)
(outputs '("out" "lib" "doc"))
(arguments
@@ -2736,7 +2760,7 @@ desired local properties.")
(define-public f3d
(package
(name "f3d")
- (version "2.0.0")
+ (version "2.2.1")
(source
(origin
(method git-fetch)
@@ -2745,22 +2769,12 @@ desired local properties.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1gcwpdkz3ylaxi133zri1cxkvj6za5s1hbgqqc8fn10q2dkkdd44"))
+ (base32 "0f076754zsxb4gwk6bxj94iyjj0dfxmmc8w88f55xd6hbm3qdnwd"))
(modules '((guix build utils)))
(snippet
#~(begin
- (delete-file "external/cxxopts.hpp")
- (delete-file "external/json.hpp")
- (substitute* "application/F3DOptionsParser.cxx"
- (("^#include \"cxxopts\\.hpp\"")
- "#include <cxxopts.hpp>")
- (("^#include \"json\\.hpp\"")
- "#include <nlohmann/json.hpp>")
- (("cxxopts::OptionException")
- "cxxopts::exceptions::parsing"))
- (substitute* "library/src/engine.cxx"
- (("^#include <json\\.hpp>")
- "#include <nlohmann/json.hpp>"))))))
+ (delete-file-recursively "external/cxxopts")
+ (delete-file-recursively "external/nlohmann_json")))))
(build-system cmake-build-system)
;; The package cannot easily be split into out and lib outputs because
;; VTK's vtkModule.cmake complains, and also the CMake files in
@@ -2783,15 +2797,29 @@ desired local properties.")
#~(list (string-append "-DCMAKE_INSTALL_DOCDIR=" #$output
"/share/doc/" #$name "-" #$version)
"-DBUILD_TESTING=OFF"
- "-DF3D_GENERATE_MAN=ON"
- "-DF3D_INSTALL_DEFAULT_CONFIGURATION_FILE=ON"
- "-DF3D_INSTALL_DEFAULT_CONFIGURATION_FILE_IN_PREFIX=ON"
- "-DF3D_INSTALL_MIME_TYPES_FILES=ON"
- "-DF3D_INSTALL_THUMBNAILER_FILES=ON"
- "-DF3D_MODULE_ALEMBIC=ON"
- "-DF3D_MODULE_ASSIMP=ON"
+ "-DF3D_LINUX_GENERATE_MAN=ON"
+ "-DF3D_USE_EXTERNAL_CXXOPTS=ON"
+ "-DF3D_USE_EXTERNAL_NLOHMANN_JSON=ON"
"-DF3D_MODULE_EXTERNAL_RENDERING=ON"
- "-DF3D_MODULE_OCCT=ON")))
+ "-DF3D_MODULE_EXR=ON"
+ "-DF3D_PLUGIN_BUILD_ALEMBIC=ON"
+ "-DF3D_PLUGIN_BUILD_ASSIMP=ON"
+ "-DF3D_PLUGIN_BUILD_OCCT=ON")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-cmake-rpath
+ (lambda _
+ ;; Expand $ORIGIN, and add VTK to library RPATH, because it is
+ ;; not added automatically.
+ (substitute* "application/CMakeLists.txt"
+ (("(set_target_properties.*PROPERTIES.*INSTALL_RPATH ).*"
+ _ prefix)
+ (string-append prefix "\"" #$output "/lib\")\n")))
+ (substitute* "library/CMakeLists.txt"
+ (("(set_target_properties.*PROPERTIES.*INSTALL_RPATH ).*"
+ _ prefix)
+ (string-append prefix "\"" #$output "/lib:"
+ #$(this-package-input "vtk") "/lib\")\n"))))))))
(native-inputs
(list cxxopts
help2man
@@ -2815,6 +2843,7 @@ desired local properties.")
lz4
netcdf
opencascade-occt
+ openexr
vtk
zlib))
(home-page "https://f3d-app.github.io/f3d/")