mirror of
https://codeberg.org/guix/guix.git
synced 2025-10-02 02:15:12 +00:00
gnu: Add nanovg.
* gnu/packages/gl.scm (nanovg): New variable. Change-Id: I89333066029e5277c979854c5f96b5e60d999579 Signed-off-by: Gabriel Wicki <gabriel@erlikon.ch>
This commit is contained in:
parent
a480ab6908
commit
1c9be166c1
1 changed files with 63 additions and 0 deletions
|
@ -23,6 +23,7 @@
|
|||
;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
|
||||
;;; Copyright © 2024 Arnaud Lechevallier <arnaud.lechevallier@free.fr>
|
||||
;;; Copyright © 2024 aurtzy <aurtzy@gmail.com>
|
||||
;;; Copyright © 2025 Sughosha <sughosha@disroot.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -1088,6 +1089,68 @@ and surfaces, receiving input and events.")
|
|||
(arguments (substitute-keyword-arguments (package-arguments glfw)
|
||||
((#:out-of-source? _ #f) #f)))))
|
||||
|
||||
(define-public nanovg
|
||||
;; No tags are available.
|
||||
(let ((revision "0")
|
||||
(commit "b83cf926525e7cea8d2483da2a75852b8c7b6d28"))
|
||||
(package
|
||||
(name "nanovg")
|
||||
(version (git-version "0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/memononen/nanovg")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1zp355pw6xnb5mjarz67cxkglv7j1s0qzv705fz1wf0gl0sjhy8f"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Fix including freetype.
|
||||
'(substitute* (find-files "." "\\.(c|h)$")
|
||||
(("ft2build\\.h") "freetype2/ft2build.h")))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f ;no test suite
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'configure) ;no configure script
|
||||
;; No Makefile exists.
|
||||
(replace 'build
|
||||
(lambda _
|
||||
(invoke #$(cc-for-target)
|
||||
"../source/src/nanovg.c" "-c" "-fPIC"
|
||||
"-DFONS_USE_FREETYPE=1"
|
||||
(string-append "-I"
|
||||
#$(this-package-input "freetype")
|
||||
"/include/freetype2"))
|
||||
(invoke #$(cc-for-target)
|
||||
"-shared" "-olibnanovg.so" "nanovg.o"
|
||||
"-lfreetype")))
|
||||
;; No Makefile exists.
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(let ((lib (string-append #$output "/lib"))
|
||||
(include (string-append #$output
|
||||
"/include/nanovg")))
|
||||
(install-file "libnanovg.so" lib)
|
||||
(with-directory-excursion "../source"
|
||||
(for-each
|
||||
(lambda (file)
|
||||
(install-file file include))
|
||||
(append (find-files "src" "nanovg.*\\.h$")
|
||||
'("example/perf.h"
|
||||
"example/stb_image_write.h"))))))))))
|
||||
(inputs
|
||||
(list freetype))
|
||||
(home-page "https://github.com/memononen/nanovg")
|
||||
(synopsis "2D vector drawing library on top of OpenGL")
|
||||
(description
|
||||
"NanoVG is an antialiased vector graphics rendering library for OpenGL.
|
||||
It is aimed for building scalable user interfaces and visualizations.")
|
||||
(license license:zlib))))
|
||||
|
||||
(define-public nanovg-for-extempore
|
||||
(let ((version "0.7.1")
|
||||
(revision "0")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue