summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/toolkits.scm54
1 files changed, 29 insertions, 25 deletions
diff --git a/gnu/packages/toolkits.scm b/gnu/packages/toolkits.scm
index aee6c22e2d..1af10d83f4 100644
--- a/gnu/packages/toolkits.scm
+++ b/gnu/packages/toolkits.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2020, 2022 Tobias Geerinckx-Rice <me@tobias.gr>
-;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com>
+;;; Copyright © 2022, 2023 John Kehayias <john.kehayias@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -55,6 +55,18 @@
(guix build utils)
(ice-9 ftw)
(srfi srfi-26))
+ ;; The build phase does not use make but we will use make-flags in a
+ ;; similar fashion to make inheritance for older imgui versions easier.
+ #:make-flags
+ ;; This first option is necessary at least for OpenBoardView, otherwise
+ ;; it would fail with the "Too many vertices in ImDrawList using 16-bit
+ ;; indices".
+ #~(list "-DImDrawIdx=unsigned int"
+ "-I" (string-append (getcwd) "/source")
+ "-I" (search-input-directory %build-inputs "include/freetype2")
+ "-g" "-O2" "-fPIC" "-shared"
+ "-lGL" "-lSDL2" "-lglfw"
+ "-o" "libimgui.so")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'adjust-includes
@@ -64,32 +76,24 @@
"#include <SDL2/SDL"))))
(delete 'configure)
(replace 'build
- (lambda* (#:key inputs #:allow-other-keys)
+ (lambda* (#:key make-flags #:allow-other-keys)
;; Build main library.
(apply invoke #$(cc-for-target)
- ;; This option is necessary at least for OpenBoardView,
- ;; otherwise it would fail with the "Too many vertices in
- ;; ImDrawList using 16-bit indices".
- "-DImDrawIdx=unsigned int"
- "-I" (getcwd)
- "-I" (search-input-directory inputs "include/freetype2")
- "-g" "-O2" "-fPIC" "-shared"
- "-lGL" "-lSDL2" "-lglfw"
- "-o" "libimgui.so"
- "imgui.cpp"
- "imgui_draw.cpp"
- "imgui_tables.cpp"
- "imgui_widgets.cpp"
- ;; Include the supported backends.
- "backends/imgui_impl_glfw.cpp"
- (if (file-exists? "backends/imgui_impl_sdl2.cpp")
- "backends/imgui_impl_sdl2.cpp"
- "backends/imgui_impl_sdl.cpp")
- "backends/imgui_impl_opengl2.cpp"
- "backends/imgui_impl_opengl3.cpp"
- ;; Include wrappers for C++ standard library (STL) and
- ;; fontconfig.
- (find-files "misc" "\\.cpp$"))))
+ (append make-flags
+ `("imgui.cpp"
+ "imgui_draw.cpp"
+ "imgui_tables.cpp"
+ "imgui_widgets.cpp"
+ ;; Include the supported backends.
+ "backends/imgui_impl_glfw.cpp"
+ ,(if (file-exists? "backends/imgui_impl_sdl2.cpp")
+ "backends/imgui_impl_sdl2.cpp"
+ "backends/imgui_impl_sdl.cpp")
+ "backends/imgui_impl_opengl2.cpp"
+ "backends/imgui_impl_opengl3.cpp"
+ ;; Include wrappers for C++ standard library (STL) and
+ ;; fontconfig.
+ ,@(find-files "misc" "\\.cpp$"))))))
(replace 'install
(lambda _
(let* ((header? (cut string-suffix? ".h" <>))