all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Simon South <simon@simonsouth.net>
To: 60695@debbugs.gnu.org
Subject: [bug#60695] [PATCH 2/9] gnu: Add qtimgui.
Date: Mon,  9 Jan 2023 14:25:56 -0500	[thread overview]
Message-ID: <655b7031be0bb48f2c805e592357ffff430221ee.1673286570.git.simon@simonsouth.net> (raw)
In-Reply-To: <cover.1673286570.git.simon@simonsouth.net>

* gnu/packages/qt.scm (qtimgui): New variable.
---
 gnu/packages/qt.scm | 63 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 63 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 6406fd5c49..7ffb52492d 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -26,6 +26,7 @@
 ;;; Copyright © 2022 Foo Chuan Wei <chuanwei.foo@hotmail.com>
 ;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com>
 ;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
+;;; Copyright © 2023 Simon South <simon@simonsouth.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -114,6 +115,7 @@ (define-module (gnu packages qt)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages telephony)
   #:use-module (gnu packages tls)
+  #:use-module (gnu packages toolkits)
   #:use-module (gnu packages valgrind)
   #:use-module (gnu packages video)
   #:use-module (gnu packages vulkan)
@@ -3548,6 +3550,67 @@ (define-public python-pyqt+qscintilla
     (description
      "This package contains the union of PyQt and the Qscintilla extension.")))
 
+(define-public qtimgui
+  (let ((commit "48d64a715b75dee24e398f7e5b0942c2ca329334")
+        (revision "0"))
+    (package
+      (name "qtimgui")
+      (version (git-version "0.0" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/seanchas116/qtimgui")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "0x71j8m15w003ak0d7q346rlwyvklkda9l0dwbxfx6kny3gsl11k"))))
+      (build-system cmake-build-system)
+      (arguments
+       (list
+        #:configure-flags #~(list "-DQTIMGUI_BUILD_IMGUI=OFF"
+                                  "-DQTIMGUI_BUILD_IMPLOT=OFF")
+        #:phases
+        #~(modify-phases %standard-phases
+            (add-after 'unpack 'patch-source
+              (lambda* (#:key inputs #:allow-other-keys)
+                (substitute* "CMakeLists.txt"
+                  ;; Disable building the examples.
+                  (("^add_subdirectory\\(examples\\)") ""))
+                (substitute* "src/CMakeLists.txt"
+                  ;; Build shared libraries, not static.
+                  (("STATIC") "SHARED")
+                  ;; Compile with the system imgui headers.
+                  (("^(target_include_directories.*)\\)" _ prefix)
+                   (string-append prefix
+                                  " "
+                                  (search-input-directory inputs
+                                                          "include/imgui")
+                                  ")")))))
+            (replace 'install
+              ;; No install target provided; manually copy the header and
+              ;; library files to the output.
+              (lambda* (#:key source #:allow-other-keys)
+                (for-each
+                 (lambda (file-name)
+                   (install-file (string-append source "/src/" file-name)
+                                 (string-append #$output "/include/qtimgui")))
+                 '("ImGuiRenderer.h" "QtImGui.h"))
+                (for-each
+                 (lambda (file-name)
+                   (install-file (string-append "src/" file-name)
+                                 (string-append #$output "/lib")))
+                 '("libqt_imgui_quick.so" "libqt_imgui_widgets.so")))))
+        #:tests? #f))                   ; no test suite
+      (inputs
+       (list imgui-1.86 implot qtbase-5 qtdeclarative-5))
+      (home-page "https://github.com/seanchas116/qtimgui")
+      (synopsis "Qt backend for the ImGui GUI library")
+      (description "QtImGui allows the ImGui C++ GUI library to be used by Qt
+applications within subclasses of @code{QOpenGLWidget} and
+@code{QOpenGLWindow}.")
+      (license license:expat))))
+
 (define-public qtkeychain
   (package
     (name "qtkeychain")
-- 
2.38.1





  parent reply	other threads:[~2023-01-09 19:27 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-09 19:22 [bug#60695] [PATCH 0/9] gnu: nextpnr-ice40: Update to 0.5 Simon South
2023-01-09 19:25 ` [bug#60695] [PATCH 1/9] gnu: Add implot Simon South
2023-01-09 19:25 ` Simon South [this message]
2023-01-09 19:25 ` [bug#60695] [PATCH 3/9] gnu: Add sanitizers-cmake Simon South
2023-01-09 19:25 ` [bug#60695] [PATCH 4/9] gnu: nextpnr-ice40: Use HTTPS for source URL Simon South
2023-01-09 19:25 ` [bug#60695] [PATCH 5/9] gnu: nextpnr-ice40: Use gexps Simon South
2023-01-09 19:26 ` [bug#60695] [PATCH 6/9] gnu: nextpnr-ice40: Enable tests Simon South
2023-01-09 19:26 ` [bug#60695] [PATCH 7/9] gnu: nextpnr-ice40: Fix generated version string Simon South
2023-01-09 19:26 ` [bug#60695] [PATCH 8/9] gnu: nextpnr-ice40: Remove bundled software Simon South
2023-01-09 19:26 ` [bug#60695] [PATCH 9/9] gnu: nextpnr-ice40: Update to 0.5 Simon South
2023-01-27 20:34 ` [bug#60695] [PATCH v2 0/9] " Simon South
2023-01-27 20:34   ` [bug#60695] [PATCH v2 1/9] gnu: Add implot Simon South
2023-01-27 20:34   ` [bug#60695] [PATCH v2 2/9] gnu: Add qtimgui Simon South
2023-01-27 20:34   ` [bug#60695] [PATCH v2 3/9] gnu: Add sanitizers-cmake Simon South
2023-01-27 20:34   ` [bug#60695] [PATCH v2 4/9] gnu: nextpnr-ice40: Use HTTPS for source URL Simon South
2023-01-27 20:34   ` [bug#60695] [PATCH v2 5/9] gnu: nextpnr-ice40: Use gexps Simon South
2023-01-27 20:34   ` [bug#60695] [PATCH v2 6/9] gnu: nextpnr-ice40: Enable tests Simon South
2023-01-27 20:34   ` [bug#60695] [PATCH v2 7/9] gnu: nextpnr-ice40: Fix generated version string Simon South
2023-01-27 20:34   ` [bug#60695] [PATCH v2 8/9] gnu: nextpnr-ice40: Remove bundled software Simon South
2023-01-27 20:34   ` [bug#60695] [PATCH v2 9/9] gnu: nextpnr-ice40: Update to 0.5 Simon South

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=655b7031be0bb48f2c805e592357ffff430221ee.1673286570.git.simon@simonsouth.net \
    --to=simon@simonsouth.net \
    --cc=60695@debbugs.gnu.org \
    /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.