diff options
Diffstat (limited to 'gnu/packages/toolkits.scm')
-rw-r--r-- | gnu/packages/toolkits.scm | 58 |
1 files changed, 41 insertions, 17 deletions
diff --git a/gnu/packages/toolkits.scm b/gnu/packages/toolkits.scm index 3030e3aa49..aee6c22e2d 100644 --- a/gnu/packages/toolkits.scm +++ b/gnu/packages/toolkits.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; 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> ;;; @@ -32,7 +32,7 @@ (define-public imgui (package (name "imgui") - (version "1.88") + (version "1.89.4") (source (origin (method git-fetch) (uri (git-reference @@ -41,7 +41,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "13cw4hx55y5z678r558hv7znfz666wh0w849c5padnj4nkpbihdi")) + "1j79gsg9i969slygrwm0dp5mkzagglawxxagjpi3009wyp6lj6l8")) (modules '((guix build utils))) (snippet ;; Remove bundled fonts. @@ -66,7 +66,12 @@ (replace 'build (lambda* (#:key inputs #:allow-other-keys) ;; Build main library. - (apply invoke #$(cc-for-target) "-I" (getcwd) + (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" @@ -77,39 +82,42 @@ "imgui_widgets.cpp" ;; Include the supported backends. "backends/imgui_impl_glfw.cpp" - "backends/imgui_impl_sdl.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* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (doc (assoc-ref outputs "doc")) - (header? (cut string-suffix? ".h" <>)) + (lambda _ + (let* ((header? (cut string-suffix? ".h" <>)) (imgui-headers (scandir "." header?)) (backend-headers (find-files "backends" "(glfw|opengl|sdl|vulkan).*\\.h$")) (misc-headers (find-files "misc" "\\.h$"))) - (install-file "libimgui.so" (string-append out "/lib")) + (install-file "libimgui.so" (string-append #$output "/lib")) ;; Install headers. (for-each (lambda (f) - (install-file f (string-append out "/include/imgui"))) + (install-file f (string-append #$output + "/include/imgui"))) imgui-headers) (for-each (lambda (f) (install-file f (string-append - out "/include/imgui/backends"))) + #$output + "/include/imgui/backends"))) backend-headers) (for-each (lambda (f) - (install-file f (string-append - out "/include/imgui/" (dirname f)))) + (install-file f (string-append #$output + "/include/imgui/" + (dirname f)))) misc-headers) ;; Install examples. - (copy-recursively - "examples" (string-append - doc "/share/imgui/examples")))))))) + (copy-recursively "examples" + (string-append #$output:doc + "/share/imgui/examples")))))))) (inputs (list fontconfig glfw mesa sdl2)) (home-page "https://github.com/ocornut/imgui") (synopsis "Immediate-mode C++ GUI library with minimal dependencies") @@ -126,6 +134,22 @@ applications, full-screen applications, and embedded platforms without standard operating system features.") (license license:expat))) +(define-public imgui-1.87 + (package + (inherit imgui) + (name "imgui") + (version "1.87") + (source (origin + (inherit (package-source imgui)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/ocornut/imgui") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "10qil22s5qak3as41787iz273sibpq1bq66bakgn7yvhj5fym6hz")))))) + (define-public imgui-1.86 (package (inherit imgui) |