guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] Add Blender.


From: Ricardo Wurmus
Subject: [PATCH] Add Blender.
Date: Sun, 20 Sep 2015 22:46:18 +0200

>From d1d46f01d7aad783f7931be1ea4bbdffb21fd9b7 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
Date: Sat, 5 Sep 2015 12:34:09 +0200
Subject: [PATCH 1/2] gnu: Add openimageio.

* gnu/packages/graphics.scm (openimageio): New variable.
---
 gnu/packages/graphics.scm | 38 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index 14badc9..d9d1f26 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -130,6 +130,44 @@ use in computer imaging applications.  The IlmImf C++ 
libraries support
 storage of the \"EXR\" file format for storing 16-bit floating-point images.")
     (license license:bsd-3)))
 
+(define-public openimageio
+  (package
+    (name "openimageio")
+    (version "1.5.18")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/OpenImageIO/oiio/";
+                                  "archive/Release-" version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0mn7cz19mn8dcrhkq15h25gl20ammr1wz0j2j3c2vxs6ph7zn8jy"))))
+    (build-system cmake-build-system)
+    ;; FIXME: To run all tests successfully, test image sets from multiple
+    ;; third party sources have to be present.  For details see
+    ;; https://github.com/OpenImageIO/oiio/blob/master/INSTALL
+    (arguments `(#:tests? #f))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("boost" ,boost)
+       ("libpng" ,libpng)
+       ("libjpeg" ,libjpeg-8)
+       ("libtiff" ,libtiff)
+       ("giflib" ,giflib)
+       ("openexr" ,openexr)
+       ("ilmbase" ,ilmbase)
+       ("python" ,python-2)
+       ("zlib" ,zlib)))
+    (synopsis "C++ library for reading and writing images")
+    (description
+      "OpenImageIO is a library for reading and writing images, and a bunch of
+related classes, utilities, and applications.  There is a particular emphasis
+on formats and functionality used in professional, large-scale animation and
+visual effects work for film.")
+    (home-page "http://www.openimageio.org";)
+    (license license:bsd-3)))
+
 (define-public ctl
   (package
     (name "ctl")
-- 
2.5.0

>From 6e9eba597d5588f845ccec6507ad1b7e987ba659 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
Date: Thu, 3 Sep 2015 14:17:34 +0200
Subject: [PATCH 2/2] gnu: Add Blender.

* gnu/packages/graphics.scm (blender): New variable.
---
 gnu/packages/graphics.scm | 67 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 67 insertions(+)

diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index d9d1f26..573c7e8 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -25,8 +25,10 @@
   #:use-module (guix build-system cmake)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (gnu packages)
+  #:use-module (gnu packages audio)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages bash)
+  ;;TODO this is imported twice
   #:use-module (gnu packages boost)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages pkg-config)
@@ -34,10 +36,75 @@
   #:use-module (gnu packages multiprecision)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages gl)
+  #:use-module (gnu packages image)
+  #:use-module (gnu packages jemalloc)
+  #:use-module (gnu packages photo)
+  #:use-module (gnu packages python)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages sdl)
   #:use-module (gnu packages xorg))
 
+(define-public blender
+  (package
+    (name "blender")
+    (version "2.75a")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://download.blender.org/source/";
+                                  "blender-" version ".tar.gz"))
+              (sha256
+               (base32
+                "09lxb2li70p6fg7hbakin9ffy3b3101c1gdjqi3pykks5q3h9sq4"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'disable-broken-tests
+          (lambda _
+            (substitute* "tests/python/CMakeLists.txt"
+              (("# PLY Import tests") "if(FALSE)")
+              (("# PLY Export")       "endif()"))
+            #t))
+         (add-after 'unpack 'fix-broken-import
+          (lambda _
+            (substitute* "release/scripts/addons/io_scene_fbx/json2fbx.py"
+              (("import encode_bin") "from . import encode_bin"))
+            #t))
+         (add-after 'set-paths 'add-ilmbase-include-path
+          (lambda* (#:key inputs #:allow-other-keys)
+            ;; OpenEXR propagates ilmbase, but its include files do not appear
+            ;; in the CPATH, so we need to add "$ilmbase/include/OpenEXR/" to
+            ;; the CPATH to satisfy the dependency on "half.h".
+            (setenv "CPATH"
+                    (string-append (assoc-ref inputs "ilmbase")
+                                   "/include/OpenEXR"
+                                   ":" (getenv "CPATH")))
+            #t)))))
+    (inputs
+     `(("boost" ,boost)
+       ("jemalloc" ,jemalloc)
+       ("libx11" ,libx11)
+       ("openimageio" ,openimageio)
+       ("openexr" ,openexr)
+       ("ilmbase" ,ilmbase)
+       ("openjpeg" ,openjpeg)
+       ("libjpeg" ,libjpeg)
+       ("libpng" ,libpng)
+       ("libtiff" ,libtiff)
+       ("freetype" ,freetype)
+       ("glew" ,glew)
+       ("openal" ,openal)
+       ("python" ,python)
+       ("zlib" ,zlib)))
+    (home-page "http://blender.org/";)
+    (synopsis "3D graphics creation suite")
+    (description
+     "Blender is a 3D graphics creation suite.  It supports the entirety of
+the 3D pipeline—modeling, rigging, animation, simulation, rendering,
+compositing and motion tracking, even video editing and game creation.  The
+application can be customized via its API for Python scripting.")
+    (license license:gpl2+)))
+
 (define-public cgal
   (package
     (name "cgal")
-- 
2.5.0


reply via email to

[Prev in Thread] Current Thread [Next in Thread]