From: John Kehayias via Guix-patches via <guix-patches@gnu.org>
To: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Cc: "53015@debbugs.gnu.org" <53015@debbugs.gnu.org>,
Nicolas Goaziou <mail@nicolasgoaziou.fr>
Subject: [bug#53015] [PATCH v2] Add mangohud.
Date: Wed, 23 Feb 2022 22:35:32 +0000 [thread overview]
Message-ID: <Ux6t747BBOFcxhLdAPRfNVY4zXwB-E3fOWOBgEsbDgFifIowJRxamrRaAh6zleg_MkdAfpZ08Eb6Q8KNRlRBAiUge77e9o_aeCPAI1c7BIg=@protonmail.com> (raw)
In-Reply-To: <Q7tnT9BK6ONvH70UZEXzlqJR968TW3cdJCw99_OCDwa0EHxp7k0YTRLa0XHOHsCsR6bMjuJdzqWOfuuilwIRolVj5mNo148mDaUwJtZ1hE8=@protonmail.com>
[-- Attachment #1: Type: text/plain, Size: 623 bytes --]
Hi Maxim (and anyone else),
Attached is an update to this patch series, reduced to just one patch. This relies on the hwdata package added in https://issues.guix.gnu.org/54069#2 and the update to imgui I sent in https://issues.guix.gnu.org/54132
With that, mangohud just uses imgui-1.86 (the newer version has a breaking change). The modifications to the meson.build is handled in a build phase substitute* rather than a patch, as it needs the imgui location.
I've checked this builds and works. Let me know if any other modifications are needed, other than the hwdata and imgui fixes referenced.
Thanks!
John
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-Add-mangohud.patch --]
[-- Type: text/x-patch; name=0001-gnu-Add-mangohud.patch, Size: 5250 bytes --]
From 73babfb8747916fb8bd0584cffb7fcd4a2c469c7 Mon Sep 17 00:00:00 2001
From: John Kehayias <john.kehayias@protonmail.com>
Date: Wed, 23 Feb 2022 17:29:39 -0500
Subject: [PATCH] gnu: Add mangohud.
* gnu/packages/graphics.scm (mangohud): New variable.
---
gnu/packages/graphics.scm | 86 +++++++++++++++++++++++++++++++++++++++
1 file changed, 86 insertions(+)
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index 04f92e2b07..40ed72b323 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -28,6 +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>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -80,11 +81,13 @@ (define-module (gnu packages graphics)
#:use-module (gnu packages kde-frameworks)
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages logging)
#:use-module (gnu packages llvm)
#:use-module (gnu packages lua)
#:use-module (gnu packages maths)
#:use-module (gnu packages mp3)
#:use-module (gnu packages multiprecision)
+ #:use-module (gnu packages pciutils)
#:use-module (gnu packages pdf)
#:use-module (gnu packages perl)
#:use-module (gnu packages photo)
@@ -117,6 +120,7 @@ (define-module (gnu packages graphics)
#:use-module (guix build-system python)
#:use-module (guix build-system qt)
#:use-module (guix download)
+ #:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix hg-download)
#:use-module ((guix licenses) #:prefix license:)
@@ -863,6 +867,88 @@ (define-public alembic
distills complex, animated scenes into a set of baked geometric results.")
(license license:bsd-3)))
+(define-public mangohud
+ (package
+ (name "mangohud")
+ (version "0.6.6-1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/flightlessmango/MangoHud/")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0ka004wxkajmvs5vy60r4ckm7f169c61rrd46w6gywkaqf5yp1ab"))))
+ (build-system meson-build-system)
+ (arguments
+ (list
+ #:build-type "release"
+ #:configure-flags
+ #~(list "-Duse_system_vulkan=enabled"
+ "-Duse_system_spdlog=enabled"
+ "-Dwith_xnvctrl=disabled"
+ "-Dappend_libdir_mangohud=false"
+ (string-append "-Dvulkan_datadir="
+ #$(this-package-input "vulkan-headers")
+ "/share"))
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; 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 _
+ (substitute* "meson.build"
+ (("dearimgui_sp = .*")
+ "")
+ (("dearimgui_sp.get_variable\\('imgui_dep'\\)")
+ (string-append "declare_dependency(dependencies: "
+ "cpp.find_library('imgui'), include_directories: '"
+ #$(this-package-input "imgui") "/include/imgui')")))))
+ (add-after 'unpack 'patch-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "src/meson.build"
+ (("\\\\\\$LIB")
+ "lib"))
+ (substitute* "src/loaders/loader_libdrm.cpp"
+ (("libdrm.so.2")
+ (search-input-file inputs "/lib/libdrm.so.2"))
+ (("libdrm_amdgpu.so.1")
+ (search-input-file inputs "/lib/libdrm_amdgpu.so.1")))
+ (substitute* "src/overlay.cpp"
+ (("glxinfo")
+ (search-input-file inputs "/bin/glxinfo")))
+ (substitute* "src/loaders/loader_x11.cpp"
+ (("libX11.so.6")
+ (search-input-file inputs "/lib/libX11.so.6")))
+ (substitute* "src/pci_ids.cpp"
+ (("/usr/share/hwdata/pci.ids")
+ (search-input-file inputs "share/hwdata/pci.ids")))
+ (substitute* "src/dbus.cpp"
+ (("libdbus-1.so.3")
+ (search-input-file inputs "lib/libdbus-1.so.3"))))))))
+ (inputs
+ (list dbus
+ glslang
+ hwdata
+ imgui-1.86
+ mesa
+ mesa-utils
+ libdrm
+ libx11
+ python-mako
+ spdlog
+ vulkan-loader
+ vulkan-headers))
+ (native-inputs
+ (list pkg-config python))
+ (synopsis "Vulkan and OpenGL overlay for monitoring performance and hardware")
+ (description
+ "MangoHud is a Vulkan and OpenGL overlay for monitoring frames per second (FPS),
+temperatures, CPU/GPU load and more.")
+ (home-page "https://github.com/flightlessmango/MangoHud/")
+ (license license:expat)))
+
(define-public ogre
(package
(name "ogre")
--
2.34.0
next prev parent reply other threads:[~2022-02-23 22:52 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-01-04 22:20 [bug#53015] [PATCH 0/4] Add mangohud (update dear-imgui) John Kehayias via Guix-patches via
2022-01-04 22:23 ` [bug#53015] [PATCH 1/4] gnu: Add pciutils-no-zlib John Kehayias via Guix-patches via
2022-01-04 22:24 ` [bug#53015] [PATCH 2/4] gnu: spdlog: Build with '-fpic' John Kehayias via Guix-patches via
2022-01-22 5:06 ` John Kehayias via Guix-patches via
2022-02-21 4:11 ` [bug#53015] [PATCH 0/4] Add mangohud (update dear-imgui) Maxim Cournoyer
2022-02-21 16:36 ` John Kehayias via Guix-patches via
2022-02-21 17:31 ` Maxim Cournoyer
2022-01-04 22:25 ` [bug#53015] [PATCH 3/4] gnu: dear-imgui: Update to 1.81, hide version 1.79 John Kehayias via Guix-patches via
2022-01-04 22:34 ` [bug#53015] [PATCH 4/4] gnu: Add mangohud John Kehayias via Guix-patches via
2022-02-16 1:48 ` [bug#53015] [PATCH 0/4] Add mangohud (update dear-imgui) John Kehayias via Guix-patches via
2022-02-23 22:35 ` John Kehayias via Guix-patches via [this message]
2022-02-27 1:14 ` [bug#53015] [PATCH v3] Add mangohud John Kehayias via Guix-patches via
2022-02-27 2:31 ` Maxim Cournoyer
2022-02-27 4:31 ` John Kehayias via Guix-patches via
2022-03-02 1:37 ` [bug#53015] [PATCH 0/4] Add mangohud (update dear-imgui) Brendan Tildesley
2022-03-02 4:54 ` 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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='Ux6t747BBOFcxhLdAPRfNVY4zXwB-E3fOWOBgEsbDgFifIowJRxamrRaAh6zleg_MkdAfpZ08Eb6Q8KNRlRBAiUge77e9o_aeCPAI1c7BIg=@protonmail.com' \
--to=guix-patches@gnu.org \
--cc=53015@debbugs.gnu.org \
--cc=john.kehayias@protonmail.com \
--cc=mail@nicolasgoaziou.fr \
--cc=maxim.cournoyer@gmail.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 external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.