summary refs log tree commit diff
path: root/gnu/packages/gl.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/gl.scm')
-rw-r--r--gnu/packages/gl.scm74
1 files changed, 65 insertions, 9 deletions
diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index 37a1bd9098..40b756394e 100644
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@ -7,6 +7,7 @@
 ;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2016 David Thompson <davet@gnu.org>
 ;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -27,12 +28,14 @@
   #:use-module (gnu packages)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages bison)
+  #:use-module (gnu packages compression)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages guile)
+  #:use-module (gnu packages image)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
   #:use-module (gnu packages pkg-config)
@@ -121,6 +124,21 @@ the mouse, keyboard and joystick functions.  Freeglut is released under
 the X-Consortium license.")
     (license license:x11)))
 
+;; Needed for "kiki".
+(define-public freeglut-2.8
+  (package (inherit freeglut)
+    (name "freeglut")
+    (version "2.8.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "mirror://sourceforge/freeglut/freeglut/"
+                    version "/freeglut-" version ".tar.gz"))
+              (sha256
+               (base32
+                "16lrxxxd9ps9l69y3zsw6iy0drwjsp6m26d1937xj71alqk6dr6x"))))
+    (build-system gnu-build-system)))
+
 (define-public ftgl
   (package
     (name "ftgl")
@@ -199,17 +217,21 @@ also known as DXTn or DXTC) for Mesa.")
 (define-public mesa
   (package
     (name "mesa")
-    (version "13.0.5")
+    (version "17.0.4")
     (source
       (origin
         (method url-fetch)
-        (uri (string-append "ftp://ftp.freedesktop.org/pub/mesa/"
-                            version "/mesa-" version ".tar.xz"))
+        (uri (list (string-append "ftp://ftp.freedesktop.org/pub/mesa/"
+                                  "mesa-" version ".tar.xz")
+                   (string-append "ftp://ftp.freedesktop.org/pub/mesa/"
+                                  version "/mesa-" version ".tar.xz")))
         (sha256
          (base32
-          "11zgynii1wz17131ml1mmblpwib8m88zz2jwi5h5llh1r3iagkmz"))
+          "0im3ca1vwwmkjf5w761vh7vabr4vrrdxpckr0wm974x18n2xqs8j"))
         (patches
-         (search-patches "mesa-wayland-egl-symbols-check-mips.patch"))))
+         (search-patches "mesa-fix-32bit-test-failures.patch"
+                         "mesa-wayland-egl-symbols-check-mips.patch"
+                         "mesa-skip-disk-cache-test.patch"))))
     (build-system gnu-build-system)
     (propagated-inputs
       `(("glproto" ,glproto)
@@ -263,7 +285,7 @@ also known as DXTn or DXTC) for Mesa.")
          ;; Without floating point texture support, drivers such as Nouveau
          ;; are stuck at OpenGL 2.1 instead of OpenGL 3.0+.
          "--enable-texture-float"
-         
+
          ;; Also enable the tests.
          "--enable-gallium-tests"
 
@@ -283,7 +305,8 @@ also known as DXTn or DXTC) for Mesa.")
              (substitute* "src/compiler/glsl/tests/lower_jumps/create_test_cases.py"
                (("/usr/bin/env bash") (which "bash")))
              (substitute* "src/intel/genxml/gen_pack_header.py"
-               (("/usr/bin/env python2") (which "python")))))
+               (("/usr/bin/env python2") (which "python")))
+             #t))
          (add-before
            'build 'fix-dlopen-libnames
            (lambda* (#:key inputs outputs #:allow-other-keys)
@@ -307,8 +330,9 @@ also known as DXTn or DXTC) for Mesa.")
                  ;; it's never installed since Mesa removed its
                  ;; egl_gallium support.
                  (("\"gbm_dri\\.so")
-                  (string-append "\"" out "/lib/dri/gbm_dri.so")))))))))
-    (home-page "http://mesa3d.org/")
+                  (string-append "\"" out "/lib/dri/gbm_dri.so")))
+               #t))))))
+    (home-page "https://mesa3d.org/")
     (synopsis "OpenGL implementation")
     (description "Mesa is a free implementation of the OpenGL specification -
 a system for rendering interactive 3D graphics.  A variety of device drivers
@@ -612,3 +636,35 @@ library for OpenGL.  It has lean API modeled after HTML5 canvas API.  It is
 aimed to be a practical and fun toolset for building scalable user interfaces
 and visualizations.")
     (license license:zlib)))
+
+(define-public gl2ps
+  (package
+    (name "gl2ps")
+    (version "1.3.9")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "http://geuz.org/gl2ps/src/gl2ps-"
+             version ".tgz"))
+       (sha256
+        (base32
+         "0h1nrhmkc4qjw2ninwpj2zbgwhc0qg6pdhpsibbvry0d2bzhns4a"))))
+    (build-system cmake-build-system)
+    (inputs
+     `(("libpng" ,libpng)
+       ("mesa" ,mesa)
+       ("zlib" ,zlib)))
+    (arguments
+     `(#:tests? #f))  ;; no tests
+    (home-page "http://www.geuz.org/gl2ps/")
+    (synopsis "OpenGL to PostScript printing library")
+    (description "GL2PS is a C library providing high quality vector
+output for any OpenGL application.  GL2PS uses sorting algorithms
+capable of handling intersecting and stretched polygons, as well as
+non-manifold objects.  GL2PS provides many features including advanced
+smooth shading and text rendering, culling of invisible primitives and
+mixed vector/bitmap output.")
+    (license (list license:lgpl2.0+
+                   (license:fsf-free "http://www.geuz.org/gl2ps/COPYING.GL2PS"
+                                     "GPL-incompatible copyleft license")))))