unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: John Kehayias via Guix-patches via <guix-patches@gnu.org>
To: 66413@debbugs.gnu.org
Cc: John Kehayias <john.kehayias@protonmail.com>
Subject: [bug#66413] [PATCH] gnu: mangohud: Update to 0.7.0.
Date: Mon, 09 Oct 2023 04:23:30 +0000	[thread overview]
Message-ID: <94feda96cdbfe16512a664d66dd25290320f762e.1696825155.git.john.kehayias@protonmail.com> (raw)

* gnu/packages/graphics.scm (mangohud): Update to 0.7.0.
[arguments]<#:configure-flags>: Remove "-Duse_system_vulkan=enabled" and
"-Dvulkan_datadir" from as they are no longer supported.
<#:phases>: Add 'unbundle-vulkan-headers'.
[inputs]: Add nlohmann-json.  Replace vulkan-headers with origin for
vulkan-headers@1.2.158.
[native-inputs]: Add git-minimal.
---

Here is a patch to update mangohud to the latest version. I've used
guix lint, built it locally, and also tested it works with vulkan. The
major change here is to manually unbundle vulkan-headers as that is no
longer a configurable option. To do this a bare origin is used to get
the source for the expected vulkan version (a specific older one is
required) and the build patched to use this.

Thanks!
John


 gnu/packages/graphics.scm | 46 +++++++++++++++++++++++++++++----------
 1 file changed, 35 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index 9362666274..c5be44b1e4 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 @@ (define-module (gnu packages graphics)
   #: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 @@ (define-public alembic
 (define-public mangohud
   (package
     (name "mangohud")
-    (version "0.6.8")
+    (version "0.7.0")
     (source
      (origin
        (method git-fetch)
@@ -1047,21 +1048,18 @@ (define-public mangohud
              (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 @@ (define-public mangohud
                   "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 @@ (define-public mangohud
            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 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

base-commit: 321979a15317eaf93b15e9cca30d328d39cca4b1
--
2.41.0






             reply	other threads:[~2023-10-09  4:25 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-09  4:23 John Kehayias via Guix-patches via [this message]
2023-10-14 20:25 ` [bug#66413] [PATCH] gnu: mangohud: Update to 0.7.0 Ludovic Courtès
2023-10-14 20:55   ` bug#66413: " John Kehayias via Guix-patches via

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=94feda96cdbfe16512a664d66dd25290320f762e.1696825155.git.john.kehayias@protonmail.com \
    --to=guix-patches@gnu.org \
    --cc=66413@debbugs.gnu.org \
    --cc=john.kehayias@protonmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).