summary refs log tree commit diff
path: root/gnu/packages/graphics.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/graphics.scm')
-rw-r--r--gnu/packages/graphics.scm73
1 files changed, 58 insertions, 15 deletions
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index 60db7543a6..85e7b03a33 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -21,7 +21,7 @@
 ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
 ;;; Copyright © 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 ;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org>
-;;; Copyright © 2020, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2020, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2020 Gabriel Arazas <foo.dogsquared@gmail.com>
 ;;; Copyright © 2021 Antoine Côté <antoine.cote@posteo.net>
 ;;; Copyright © 2021 Andy Tai <atai@atai.org>
@@ -189,13 +189,29 @@ framebuffer graphics, audio output and input event.")
            (lambda _
              (substitute* "src/core/core.c"
                (("..BUILDTIME..") ""))))
+         ;; TODO: Move patch to source.
+         ,@(if (target-arm32?)
+             `((add-after 'unpack 'patch-source
+                 (lambda* (#:key inputs #:allow-other-keys)
+                   (invoke "patch" "--force" "-p1" "-i"
+                           (assoc-ref inputs "patch-file")))))
+             '())
          (add-after 'unpack 'disable-configure-during-bootstrap
            (lambda _
              (substitute* "autogen.sh"
                (("^.*\\$srcdir/configure.*") ""))
              #t)))))
     (native-inputs
-     (list autoconf automake libtool perl pkg-config))
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ,@(if (target-arm32?)
+         `(("patch" ,patch)
+           ("patch-file"
+            ,(search-patch "directfb-davinci-glibc-228-compat.patch")))
+         '())))
     (inputs
      (list alsa-lib
            ffmpeg
@@ -808,7 +824,8 @@ many more.")
      ;; precision), as was discussed and patched long ago:
      ;; <https://issues.guix.gnu.org/22049>.  It seems the relevant fixes
      ;; didn't make it upstream, so skip tests.
-     (list #:tests? (not (target-x86-32?))))
+     (list #:tests? (not (or (target-x86-32?)
+                             (%current-target-system)))))
     (home-page "https://github.com/AcademySoftwareFoundation/Imath")
     (synopsis "Library of math operations for computer graphics")
     (description
@@ -1448,11 +1465,11 @@ in Julia).")
 (define-public openmw-openscenegraph
   ;; OpenMW prefers its own fork of openscenegraph:
   ;; https://wiki.openmw.org/index.php?title=Development_Environment_Setup#OpenSceneGraph.
-  (let ((commit "36a962845a2c87a6671fd822157e0729d164e940"))
+  (let ((commit "69cfecebfb6dc703b42e8de39eed750a84a87489"))
     (hidden-package
      (package
        (inherit openscenegraph)
-       (version (git-version "3.6" "1" commit))
+       (version (git-version "3.6" "2" commit))
        (outputs (list "out"))
        (source
         (origin
@@ -1463,7 +1480,7 @@ in Julia).")
           (file-name (git-file-name (package-name openscenegraph) version))
           (sha256
            (base32
-            "05yhgq3qm5q277y32n5sf36vx5nv5qd3zlhz4csgd3a6190jrnia"))))
+            "1qayk2gklm8zvss90dcjfxv6717rvcmwmgmgyy1qzkli67a0zbw2"))))
        (arguments
         (substitute-keyword-arguments (package-arguments openscenegraph)
           ((#:configure-flags flags)
@@ -1471,14 +1488,14 @@ in Julia).")
            #~(append
               '("-DBUILD_OSG_PLUGINS_BY_DEFAULT=0"
                 "-DBUILD_OSG_PLUGIN_OSG=1"
+                "-DBUILD_OSG_PLUGIN_DAE=1"
                 "-DBUILD_OSG_PLUGIN_DDS=1"
                 "-DBUILD_OSG_PLUGIN_TGA=1"
                 "-DBUILD_OSG_PLUGIN_BMP=1"
                 "-DBUILD_OSG_PLUGIN_JPEG=1"
                 "-DBUILD_OSG_PLUGIN_PNG=1"
-                "-DBUILD_OSG_DEPRECATED_SERIALIZERS=0"
-                ;; The jpeg plugin requires conversion between integers and booleans
-                "-DCMAKE_CXX_FLAGS=-fpermissive")
+                "-DBUILD_OSG_PLUGIN_FREETYPE=1"
+                "-DBUILD_OSG_DEPRECATED_SERIALIZERS=0")
               #$flags))
           ((#:phases phases)
            #~(modify-phases #$phases
@@ -2379,7 +2396,7 @@ generated discrete signed distance field using the cubic spline kernel.
 (define-public mmg
   (package
     (name "mmg")
-    (version "5.6.0")
+    (version "5.7.1")
     (source
      (origin
        (method git-fetch)
@@ -2388,7 +2405,7 @@ generated discrete signed distance field using the cubic spline kernel.
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "173biz5skbwg27i5w6layg7mydjzv3rmi1ywhra4rx9rjf5c0cc5"))))
+        (base32 "0skb7yzsw6y44zp9gb729i5xks7qd97nvn3z6jhz4jksqksx7lz0"))))
     (build-system cmake-build-system)
     (outputs '("out" "lib" "doc"))
     (arguments
@@ -2398,11 +2415,14 @@ generated discrete signed distance field using the cubic spline kernel.
                    ;; The build doesn't honor -DCMAKE_INSTALL_BINDIR, hence
                    ;; the adjust-bindir phase.
                    ;;(string-append "-DCMAKE_INSTALL_BINDIR=" #$output "/bin")
+                   (string-append "-DCMAKE_INSTALL_MANDIR=" #$output "/share/man")
                    "-DBUILD_SHARED_LIBS=ON"
+                   "-DBUILD_DOC=ON"
                    "-DBUILD_TESTING=ON"
                    ;; The longer tests are for continuous integration and
                    ;; depend on input data which must be downloaded.
                    "-DONLY_VERY_SHORT_TESTS=ON"
+                   "-DUSE_SCOTCH=ON"
                    ;; TODO: Add Elas (from
                    ;; https://github.com/ISCDtoolbox/LinearElasticity).
                    "-DUSE_ELAS=OFF"
@@ -2428,9 +2448,6 @@ generated discrete signed distance field using the cubic spline kernel.
                (add-after 'install 'install-doc
                  (lambda _
                    (copy-recursively
-                    "../source/doc/man" (string-append #$output
-                                                       "/share/man/man1"))
-                   (copy-recursively
                     "doc" (string-append #$output:doc "/share/doc/"
                                          #$name "-" #$version))))
                (add-after 'install 'adjust-bindir
@@ -2480,6 +2497,33 @@ a tetrahedral mesh, isovalue discretization and Lagrangian movement;
 @end itemize")
     (license license:lgpl3+)))
 
+(define-public nanosvg
+  ;; There are no proper versions or releases; use the latest commit.
+  (let ((commit "9da543e8329fdd81b64eb48742d8ccb09377aed1")
+        (revision "0"))
+    (package
+      (name "nanosvg")
+      (version (git-version "0.0.0" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/memononen/nanosvg")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "1pkzv75kavkhrbdd2kvq755jyr0vamgrfr7lc33dq3ipkzmqvs2l"))))
+      (build-system cmake-build-system)
+      (arguments (list #:tests? #f    ;no test suite
+                       #:configure-flags #~(list "-DBUILD_SHARED_LIBS=ON")))
+      (home-page "https://github.com/memononen/nanosvg")
+      (synopsis "Simple SVG parser")
+      (description "NanoSVG is a simple single-header SVG parser.  The output
+of the parser is a list of cubic bezier shapes.  The library suits well for
+anything from rendering scalable icons in an editor application to prototyping
+a game.")
+      (license license:zlib))))
+
 (define-public f3d
   (package
     (name "f3d")
@@ -2596,4 +2640,3 @@ 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+)))
-