gnu: Add dear-imgui.
* gnu/packages/graphics.scm (dear-imgui): New public variable.
This commit is contained in:
parent
0e8df7403e
commit
e23d5aa908
|
@ -90,6 +90,7 @@ (define-module (gnu packages graphics)
|
|||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages readline)
|
||||
#:use-module (gnu packages sdl)
|
||||
#:use-module (gnu packages stb)
|
||||
#:use-module (gnu packages swig)
|
||||
#:use-module (gnu packages tbb)
|
||||
#:use-module (gnu packages upnp)
|
||||
|
@ -855,6 +856,78 @@ (define-public pstoedit
|
|||
@end itemize")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public dear-imgui
|
||||
(package
|
||||
(name "dear-imgui")
|
||||
(version "1.79")
|
||||
(source
|
||||
(origin
|
||||
(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 "0x26igynxp6rlpp2wfc5dr7x6yh583ajb7p23pgycn9vqikn318q"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags
|
||||
(list (string-append "CC=" ,(cc-for-target))
|
||||
(string-append "PREFIX=" (assoc-ref %outputs "out"))
|
||||
(string-append "VERSION=" ,version))
|
||||
#:tests? #f ; no test suite
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'unpack-debian-files
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(invoke "tar" "xvf" (assoc-ref inputs "debian-files"))
|
||||
(apply invoke "patch" "-Np1" "-i"
|
||||
(find-files "debian/patches" "\\.patch$"))
|
||||
(substitute* "Makefile"
|
||||
(("<stb/") "<") ; Guix doesn't use this subdirectory
|
||||
;; Don't build or install the static library.
|
||||
(("^all: .*") "all: $(SHLIB) $(PCFILE)"))
|
||||
(substitute* (list "imgui.pc.in"
|
||||
"Makefile")
|
||||
;; Don't link against a non-existent library.
|
||||
(("-lstb") ""))
|
||||
#t))
|
||||
(delete 'configure) ; no configure script
|
||||
(replace 'install
|
||||
;; The default ‘install’ target installs the static library. Don't.
|
||||
(lambda* (#:key make-flags #:allow-other-keys)
|
||||
(apply invoke "make" "install-shared" "install-header"
|
||||
make-flags))))))
|
||||
(native-inputs
|
||||
`(("debian-files"
|
||||
;; Upstream doesn't provide a build system. Use Debian's.
|
||||
,(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://debian/pool/main/i/imgui/imgui_"
|
||||
version "+ds-1.debian.tar.xz"))
|
||||
(sha256
|
||||
(base32 "1xhk34pzpha6k5l2j150capq66y8czhmsi04ib09wvb34ahqxpby"))))
|
||||
("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("freetype" ,freetype)
|
||||
("stb-rect-pack" ,stb-rect-pack)
|
||||
("stb-truetype" ,stb-truetype)))
|
||||
(home-page "https://github.com/ocornut/imgui")
|
||||
(synopsis "Immediate-mode C++ GUI library with minimal dependencies")
|
||||
(description
|
||||
"Dear ImGui is a @acronym{GUI, graphical user interface} library for C++.
|
||||
It creates optimized vertex buffers that you can render anytime in your
|
||||
3D-pipeline-enabled application. It's portable, renderer-agnostic, and
|
||||
self-contained, without external dependencies.
|
||||
|
||||
Dear ImGui is aimed at content creation, visualization, and debugging tools as
|
||||
opposed to average end-user interfaces. Hence it favors simplicity and
|
||||
productivity but lacks certain features often found in higher-level libraries.
|
||||
It is particularly suited to integration in game engine tooling, real-time 3D
|
||||
applications, full-screen applications, and embedded platforms without standard
|
||||
operating system features.")
|
||||
(license license:expat))) ; some examples/ use the zlib licence
|
||||
|
||||
(define-public ogre
|
||||
(package
|
||||
(name "ogre")
|
||||
|
|
Loading…
Reference in a new issue