summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoshua S. Grant <youlysses@riseup.net>2013-09-29 15:49:53 -0500
committerLudovic Courtès <ludo@gnu.org>2013-10-05 23:21:57 +0200
commitdaca86660f9a83d87343c739400a0fd969087904 (patch)
tree94ad3cb18d2371c8310b0bcc0e2b59e1c7770330
parent5ccca0044e719069f4d5cc0d42ec959e6cda2417 (diff)
downloadguix-daca86660f9a83d87343c739400a0fd969087904.tar.gz
gnu: Add freeglut, glu, and FTGL.
* gnu/packages/gl.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r--gnu-system.am1
-rw-r--r--gnu/packages/gl.scm112
2 files changed, 113 insertions, 0 deletions
diff --git a/gnu-system.am b/gnu-system.am
index 74e3690e2d..37a174cbca 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -67,6 +67,7 @@ GNU_SYSTEM_MODULES =				\
   gnu/packages/gettext.scm			\
   gnu/packages/ghostscript.scm			\
   gnu/packages/gkrellm.scm			\
+  gnu/packages/gl.scm				\
   gnu/packages/glib.scm				\
   gnu/packages/global.scm			\
   gnu/packages/gnome.scm			\
diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
new file mode 100644
index 0000000000..76b065e710
--- /dev/null
+++ b/gnu/packages/gl.scm
@@ -0,0 +1,112 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2013 Joshua S. Grant <youlysses@riseup.net>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages gl)
+  #:use-module ((guix licenses)
+                #:renamer (symbol-prefix-proc 'l:))
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module (guix packages)
+  #:use-module (gnu packages xorg)
+  #:use-module (gnu packages fontutils))
+
+(define-public glu
+  (package
+    (name "glu")
+    (version "9.0.0")
+    (source (origin
+	     (method url-fetch)
+	     (uri (string-append "ftp://ftp.freedesktop.org/pub/mesa/glu/glu-"
+				  version ".tar.gz"))
+	     (sha256
+	      (base32 "0r72yyhj09x3krn3kn629jqbwyq50ji8w5ri2pn6zwrk35m4g1s3"))))
+    (build-system gnu-build-system)
+    (inputs `(("mesa" ,mesa)))
+    (home-page "http://www.opengl.org/archives/resources/faq/technical/glu.htm")
+    (synopsis "Mesa OpenGL Utility library")
+    (description
+     "GLU, or OpenGL Utility Library provides some higher-level functionality
+not provided by just OpenGL itself. Some of GLU's Features
+include: Scaling of 2D images and creation of mipmap pyramids,
+Transformation of object coordinates into device coordinates and
+vice versa, Support for NURBS surfaces, Support for tessellation
+of concave or bow tie polygonal primitives, Specialty transformation
+matrices for creating perspective and orthographic projections,
+positioning a camera, and selection/picking, Rendering of disk,
+cylinder, and sphere primitives, Interpreting OpenGL error values
+as ASCII text.")
+    (license (l:x11-style "http://directory.fsf.org/wiki/License:SGIFreeBv2"))))
+
+(define-public freeglut
+  (package
+    (name "freeglut")
+    (version "2.8.1")
+    (source (origin
+	     (method url-fetch)
+	     (uri (string-append "mirror://sourceforge/project/freeglut/freeglut/"
+				  version "/freeglut-" version ".tar.gz"))
+	     (sha256
+	      (base32 "16lrxxxd9ps9l69y3zsw6iy0drwjsp6m26d1937xj71alqk6dr6x"))))
+    (build-system gnu-build-system)
+    (inputs `(("mesa" ,mesa)
+	      ("libx11" ,libx11)
+	      ("libxi" ,libxi)
+	      ("libxrandr" ,libxrandr)
+	      ("libxxf86vm" ,libxxf86vm)
+	      ("inputproto" ,inputproto)
+	      ("xinput" ,xinput)
+	      ("glu" ,glu)))
+    (home-page "http://freeglut.sourceforge.net/")
+    (synopsis "Alternative to the OpenGL Utility Toolkit (GLUT)")
+    (description
+     "Freeglut is a completely Free/OpenSourced alternative to
+the OpenGL Utility Toolkit (GLUT) library. GLUT was originally
+written by Mark Kilgard to support the sample programs in the
+second edition OpenGL 'RedBook'. Since then, GLUT has been used
+in a wide variety of practical applications because it is simple,
+widely available and highly portable.
+
+GLUT (and hence freeglut) allows the user to create and manage windows
+containing OpenGL contexts on a wide range of platforms and also read
+the mouse, keyboard and joystick functions. freeglut is released under
+the X-Consortium license.")
+    (license l:x11)))
+
+(define-public ftgl
+  (package
+    (name "ftgl")
+    (version "2.1.3-rc5")
+    (source (origin
+	     (method url-fetch)
+	     (uri (string-append "mirror://sourceforge/project/ftgl/FTGL%20Source/2.1.3~rc5/ftgl-"
+				  version ".tar.gz"))
+	     (sha256
+	      (base32 "0nsn4s6vnv5xcgxcw6q031amvh2zfj2smy1r5mbnjj2548hxcn2l"))))
+    (build-system gnu-build-system)
+    (inputs `(("freetype" ,freetype)
+	      ("libx11" ,libx11)
+	      ("mesa" ,mesa)
+	      ("glu" ,glu)))
+    (home-page "http://ftgl.sourceforge.net")
+    (synopsis "Font rendering library for OpenGL applications")
+    (description
+     "FTGL is a font rendering library for OpenGL applications. Supported
+rendering modes are: Bitmaps, Anti-aliased pixmaps, Texture maps, Outlines,
+Polygon meshes, and Extruded polygon meshes")
+    (license l:x11)))