summary refs log tree commit diff
path: root/gnu/packages/gl.scm
diff options
context:
space:
mode:
authorDavid Thompson <dthompson2@worcester.edu>2015-04-26 16:41:25 -0400
committerDavid Thompson <dthompson2@worcester.edu>2015-05-04 22:15:41 -0400
commit2b226af1bc663fee6ebe14305add2974b9daedbc (patch)
tree7a20a40493f9d9bbb180ee41517b1ebf1c585697 /gnu/packages/gl.scm
parent954cea3ae6e7264b8d2f5139dceeeeb3f553abef (diff)
downloadguix-2b226af1bc663fee6ebe14305add2974b9daedbc.tar.gz
gnu: Add soil.
* gnu/packages/gl.scm (soil): New variable.
Diffstat (limited to 'gnu/packages/gl.scm')
-rw-r--r--gnu/packages/gl.scm45
1 files changed, 44 insertions, 1 deletions
diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index afda76d792..62b02efd25 100644
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@ -40,7 +40,8 @@
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages guile)
   #:use-module (gnu packages video)
-  #:use-module (gnu packages xdisorg))
+  #:use-module (gnu packages xdisorg)
+  #:use-module (gnu packages zip))
 
 (define-public glu
   (package
@@ -484,3 +485,45 @@ OpenGL graphics API.")
     (description
      "A library for handling OpenGL function pointer management.")
     (license l:x11)))
+
+(define-public soil
+  (package
+    (name "soil")
+    (version "1.0.7")
+    (source (origin
+              (method url-fetch)
+              ;; No versioned archive available.
+              (uri "http://www.lonesock.net/files/soil.zip")
+              (sha256
+               (base32
+                "00gpwp9dldzhsdhksjvmbhsd2ialraqbv6v6dpikdmpncj6mnc52"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:tests? #f ; no tests
+       #:phases (modify-phases %standard-phases
+                  (delete 'configure)
+                  (add-before 'build 'init-build
+                    (lambda* (#:key outputs #:allow-other-keys)
+                      (let ((out (assoc-ref outputs "out")))
+                        (setenv "CFLAGS" "-fPIC") ; needed for shared library
+                        ;; Use alternate Makefile
+                        (copy-file "projects/makefile/alternate Makefile.txt"
+                                   "src/Makefile")
+                        (chdir "src")
+                        (substitute* '("Makefile")
+                          (("INCLUDEDIR = /usr/include/SOIL")
+                           (string-append "INCLUDEDIR = " out "/include/SOIL"))
+                          (("LIBDIR = /usr/lib")
+                           (string-append "LIBDIR = " out "/lib"))
+                          ;; Remove these flags from 'install' commands.
+                          (("-o root -g root") ""))))))))
+    (native-inputs
+     `(("unzip" ,unzip)))
+    (inputs
+     `(("mesa" ,mesa)))
+    (home-page "http://www.lonesock.net/soil.html")
+    (synopsis "OpenGL texture loading library")
+    (description
+     "SOIL is a tiny C library used primarily for uploading textures into
+OpenGL.")
+    (license l:public-domain)))