diff options
Diffstat (limited to 'gnu/packages/graphics.scm')
-rw-r--r-- | gnu/packages/graphics.scm | 102 |
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+))) + |