aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/graphics.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/graphics.scm')
-rw-r--r--gnu/packages/graphics.scm102
1 files changed, 100 insertions, 2 deletions
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index f23fad7c50..7c4456d034 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -33,6 +33,8 @@
;;; Copyright © 2022 Tobias Kortkamp <tobias.kortkamp@gmail.com>
;;; Copyright © 2022 Paul A. Patience <paul@apatience.com>
;;; Copyright © 2022 dan <i@dan.games>
+;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
+;;; Copyright © 2023 David Thompson <dthompson2@worcester.edu>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -233,6 +235,52 @@ minimum of resource usage and overhead.")
(home-page "https://github.com/deniskropp/DirectFB")
(license license:lgpl2.1+)))
+(define-public minifb
+ (let ((commit "43f8c1309341f4709a471b592d04434326042483")
+ (revision "1"))
+ (package
+ (name "minifb")
+ (version (git-version "0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/emoon/minifb")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1z0720azsgi83yg4ysmfvpvsg0566s2cq59xx52w8w5rpkla4cjh"))))
+ (build-system cmake-build-system)
+ (arguments
+ ;; Don't build examples.
+ '(#:configure-flags '("-DMINIFB_BUILD_EXAMPLES=0")
+ #:phases
+ ;; There is no install target, so we have to copy the static library
+ ;; and headers to the output directory ourselves.
+ (modify-phases %standard-phases
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (includedir (string-append out "/include"))
+ (libdir (string-append out "/lib")))
+ (mkdir-p includedir)
+ (mkdir-p libdir)
+ (for-each (lambda (header)
+ (copy-file header
+ (string-append includedir "/"
+ (basename header))))
+ (find-files "../source/include" "\\.h$"))
+ (copy-file "libminifb.a" (string-append libdir "/libminifb.a"))))))
+ ;; No check target.
+ #:tests? #f))
+ ;; libminifb.a won't work without these libraries, so propagate them.
+ (propagated-inputs (list libx11 libxkbcommon mesa))
+ (synopsis "Small library for rendering pixels to a framebuffer")
+ (description "MiniFB (Mini FrameBuffer) is a small, cross-platform
+library that makes it easy to render (32-bit) pixels in a window.")
+ (home-page "https://github.com/emoon/minifb")
+ (license license:expat))))
+
(define-public flux
(package
(name "flux")
@@ -594,6 +642,20 @@ vertices, sorting by primitive type, merging of redundant materials and many
more.")
(license license:bsd-3)))
+(define-public assimp-5.0
+ (package
+ (inherit assimp)
+ (version "5.0.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/assimp/assimp")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name "assimp" version))
+ (sha256
+ (base32
+ "1w2484lg823bql7lpfq84vnsfsnag5v65qrbphslj866z9ia68l7"))))))
+
(define-public mikktspace
;; The latest commit is used as there is no release.
(let ((commit "3e895b49d05ea07e4c2133156cfa94369e19e409")
@@ -2121,7 +2183,7 @@ a complete and conforming implementation of the OpenXR API made by Khronos.")
(define-public azpainter
(package
(name "azpainter")
- (version "3.0.5")
+ (version "3.0.6")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2130,7 +2192,7 @@ a complete and conforming implementation of the OpenXR API made by Khronos.")
(file-name (git-file-name name version))
(sha256
(base32
- "1iplp3p8pw9q44kb43hrk89sv2aff6bdy9fk58j2v6k5lqbk6kvf"))))
+ "0lk74drrksk340fzyzvrq0ixwj498adshbp505cj163qsqnndj7y"))))
(build-system gnu-build-system) ;actually a home grown build system
(arguments
(list #:tests? #f
@@ -2443,3 +2505,39 @@ on the command line. It supports a range of file formats (including animated
glTF, STL, STEP, PLY, OBJ, FBX), and provides numerous rendering and texturing
options.")
(license license:bsd-3)))
+
+(define-public gpaint
+ (package
+ (name "gpaint")
+ (version "0.3.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://alpha.gnu.org/gnu/"
+ name "/"
+ name "-2-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1syh5l5fnzk7cw77iykafn73fvmnc83kg815fa8vvj0h0r30c5sl"))))
+ (build-system gnu-build-system)
+ (inputs (list gtk+-2 libglade))
+ (native-inputs
+ (list gettext-minimal `(,glib "bin") pkg-config))
+ (arguments
+ (list #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'remove-undefined-references
+ (lambda _
+ (substitute* "src/drawing.c"
+ (("GTK_STOCK_DISCARD,GTK_RESPONSE_DISCARD")
+ "GTK_STOCK_DISCARD,GTK_RESPONSE_NO"))
+ (substitute* "src/menu.c"
+ (("\\#include \"menu.h\"")
+ "")))))))
+
+ (synopsis "Simple paint program for GNOME")
+ (description
+ "GNU Paint is a simple, easy-to-use paint program for the GNOME
+environment. It supports drawing freehand as well as basic shapes and text.
+It features cut-and-paste for irregular regions or polygons.")
+ (home-page "https://www.gnu.org/software/gpaint/")
+ (license license:gpl3+)))
+