unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH] Add Blender.
@ 2015-09-20 20:46 Ricardo Wurmus
  2015-09-21 23:45 ` Eric Bavier
  0 siblings, 1 reply; 12+ messages in thread
From: Ricardo Wurmus @ 2015-09-20 20:46 UTC (permalink / raw)
  To: guix-devel

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: 0001-gnu-Add-openimageio.patch --]
[-- Type: text/x-patch, Size: 2300 bytes --]

From d1d46f01d7aad783f7931be1ea4bbdffb21fd9b7 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <rekado@elephly.net>
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


[-- Attachment #2: 0002-gnu-Add-Blender.patch --]
[-- Type: text/x-patch, Size: 3816 bytes --]

From 6e9eba597d5588f845ccec6507ad1b7e987ba659 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <rekado@elephly.net>
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


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [PATCH] Add Blender
  2015-09-20 20:46 [PATCH] Add Blender Ricardo Wurmus
@ 2015-09-21 23:45 ` Eric Bavier
  2015-09-23  6:45   ` Ricardo Wurmus
  0 siblings, 1 reply; 12+ messages in thread
From: Eric Bavier @ 2015-09-21 23:45 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel

Hello Ricardo,

Just some nitpicks:

> From d1d46f01d7aad783f7931be1ea4bbdffb21fd9b7 Mon Sep 17 00:00:00 2001
> From: Ricardo Wurmus <rekado@elephly.net>
> 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
[...]
> +    (description
> +      "OpenImageIO is a library for reading and writing images, and a bunch of
        ^
Align the opening quote to the 'd'.


> From 6e9eba597d5588f845ccec6507ad1b7e987ba659 Mon Sep 17 00:00:00 2001
> From: Ricardo Wurmus <rekado@elephly.net>
> 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(+)
[...]
> +(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")))

Is the "half.h" header in OpenEXR, or in blender?  If the latter, would
it make more sense to instead patch the include directive to include
the OpenEXR path?

Otherwise LGTM.

`~Eric

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] Add Blender
  2015-09-21 23:45 ` Eric Bavier
@ 2015-09-23  6:45   ` Ricardo Wurmus
  2015-09-23 10:17     ` Andreas Enge
                       ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: Ricardo Wurmus @ 2015-09-23  6:45 UTC (permalink / raw)
  To: Eric Bavier; +Cc: guix-devel


Eric Bavier <ericbavier@openmailbox.org> writes:

>> +(define-public openimageio
>> +  (package
> [...]
>> +    (description
>> +      "OpenImageIO is a library for reading and writing images, and a bunch of
>         ^
> Align the opening quote to the 'd'.

Ah, good catch!  I fixed this and pushed openimageio.

>> * gnu/packages/graphics.scm (blender): New variable.

[...]

>> +         (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")))
>
> Is the "half.h" header in OpenEXR, or in blender?  If the latter, would
> it make more sense to instead patch the include directive to include
> the OpenEXR path?

“half.h” is provided by “ilmbase”.  The include is in Blender, in this
file:

    blender-2.75a/source/blender/imbuf/intern/openexr/openexr_api.cpp

I could patch this instead, replacing

    #include <half.h>

with

    #include <OpenEXR/half.h>

I’ll fix this, recompile and if there are no further objections push
upon success.

Thanks!

~~ Ricardo

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] Add Blender
  2015-09-23  6:45   ` Ricardo Wurmus
@ 2015-09-23 10:17     ` Andreas Enge
  2015-09-26 12:00     ` Ricardo Wurmus
  2015-09-26 12:47     ` Ludovic Courtès
  2 siblings, 0 replies; 12+ messages in thread
From: Andreas Enge @ 2015-09-23 10:17 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel

On Wed, Sep 23, 2015 at 08:45:24AM +0200, Ricardo Wurmus wrote:
> Eric Bavier <ericbavier@openmailbox.org> writes:
> > Is the "half.h" header in OpenEXR, or in blender?  If the latter, would
> > it make more sense to instead patch the include directive to include
> > the OpenEXR path?
> “half.h” is provided by “ilmbase”.  The include is in Blender, in this
> file:
>     blender-2.75a/source/blender/imbuf/intern/openexr/openexr_api.cpp
> I could patch this instead, replacing
>     #include <half.h>
> with
>     #include <OpenEXR/half.h>
> I’ll fix this, recompile and if there are no further objections push
> upon success.

This is a recurrent problem with Ilmbase/OpenEXR, see the previous thread
starting with
   https://lists.gnu.org/archive/html/guix-devel/2015-09/msg00141.html

We should find a general solution if possible.

Andreas

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] Add Blender
  2015-09-23  6:45   ` Ricardo Wurmus
  2015-09-23 10:17     ` Andreas Enge
@ 2015-09-26 12:00     ` Ricardo Wurmus
  2016-02-28 13:57       ` Ricardo Wurmus
  2015-09-26 12:47     ` Ludovic Courtès
  2 siblings, 1 reply; 12+ messages in thread
From: Ricardo Wurmus @ 2015-09-26 12:00 UTC (permalink / raw)
  To: Eric Bavier; +Cc: guix-devel


Ricardo Wurmus <rekado@elephly.net> writes:

> Eric Bavier <ericbavier@openmailbox.org> writes:

>>> +         (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")))
>>
>> Is the "half.h" header in OpenEXR, or in blender?  If the latter, would
>> it make more sense to instead patch the include directive to include
>> the OpenEXR path?
>
> “half.h” is provided by “ilmbase”.  The include is in Blender, in this
> file:
>
>     blender-2.75a/source/blender/imbuf/intern/openexr/openexr_api.cpp
>
> I could patch this instead, replacing
>
>     #include <half.h>
>
> with
>
>     #include <OpenEXR/half.h>
>
> I’ll fix this, recompile and if there are no further objections push
> upon success.

I tried this, but there are more includes that need to be patched and
even that doesn’t help as the includes in “openexr” headers are still
broken, as the actual directory containing the headers is not in the
CPATH.

As this seems to be a problem with the “openexr”/“ilmbase” packages I’d
rather keep the originally proposed fix, i.e. adding the OpenEXR
directory to the CPATH.

If that’s okay, I’d push the “blender” package without further
modifications.

What do you think?

~~ Ricardo

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] Add Blender
  2015-09-23  6:45   ` Ricardo Wurmus
  2015-09-23 10:17     ` Andreas Enge
  2015-09-26 12:00     ` Ricardo Wurmus
@ 2015-09-26 12:47     ` Ludovic Courtès
  2 siblings, 0 replies; 12+ messages in thread
From: Ludovic Courtès @ 2015-09-26 12:47 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel

Ricardo Wurmus <rekado@elephly.net> skribis:

> Eric Bavier <ericbavier@openmailbox.org> writes:

[...]

>>> * gnu/packages/graphics.scm (blender): New variable.
>
> [...]
>
>>> +         (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")))
>>
>> Is the "half.h" header in OpenEXR, or in blender?  If the latter, would
>> it make more sense to instead patch the include directive to include
>> the OpenEXR path?
>
> “half.h” is provided by “ilmbase”.  The include is in Blender, in this
> file:
>
>     blender-2.75a/source/blender/imbuf/intern/openexr/openexr_api.cpp
>
> I could patch this instead, replacing
>
>     #include <half.h>
>
> with
>
>     #include <OpenEXR/half.h>

Normally ‘OpenEXR.pc’ provides the right -I flags:

  https://lists.gnu.org/archive/html/guix-devel/2015-09/msg00160.html

Could it be that the .pc is ignored or something?

Ludo’.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] Add Blender
  2015-09-26 12:00     ` Ricardo Wurmus
@ 2016-02-28 13:57       ` Ricardo Wurmus
  2016-02-29 15:39         ` d.4.n.1
  0 siblings, 1 reply; 12+ messages in thread
From: Ricardo Wurmus @ 2016-02-28 13:57 UTC (permalink / raw)
  To: Eric Bavier; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 2033 bytes --]


Ricardo Wurmus <rekado@elephly.net> writes:

> Ricardo Wurmus <rekado@elephly.net> writes:
>
>> Eric Bavier <ericbavier@openmailbox.org> writes:
>
>>>> +         (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")))
>>>
>>> Is the "half.h" header in OpenEXR, or in blender?  If the latter, would
>>> it make more sense to instead patch the include directive to include
>>> the OpenEXR path?
>>
>> “half.h” is provided by “ilmbase”.  The include is in Blender, in this
>> file:
>>
>>     blender-2.75a/source/blender/imbuf/intern/openexr/openexr_api.cpp
>>
>> I could patch this instead, replacing
>>
>>     #include <half.h>
>>
>> with
>>
>>     #include <OpenEXR/half.h>
>>
>> I’ll fix this, recompile and if there are no further objections push
>> upon success.
>
> I tried this, but there are more includes that need to be patched and
> even that doesn’t help as the includes in “openexr” headers are still
> broken, as the actual directory containing the headers is not in the
> CPATH.
>
> As this seems to be a problem with the “openexr”/“ilmbase” packages I’d
> rather keep the originally proposed fix, i.e. adding the OpenEXR
> directory to the CPATH.
>
> If that’s okay, I’d push the “blender” package without further
> modifications.

Attached is the latest version of the patch.  The CPATH hack is still
required.  I also had to disable the tests as the gigabytes of test
files that would be required to run them are not included in the release
tarballs.

~~ Ricardo


[-- Attachment #2: 0001-gnu-Add-Blender.patch --]
[-- Type: text/x-patch, Size: 4805 bytes --]

From 07412eca49e8c0238ffce93097db0adffce13556 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <rekado@elephly.net>
Date: Thu, 3 Sep 2015 14:17:34 +0200
Subject: [PATCH] gnu: Add Blender.

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

diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index e6e75aa..4a9fd5d 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2015 Tomáš Čech <sleep_walker@gnu.org>
+;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -25,6 +26,8 @@
   #:use-module (guix build-system cmake)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (gnu packages)
+  #:use-module (gnu packages algebra)
+  #:use-module (gnu packages audio)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages bash)
   #:use-module (gnu packages boost)
@@ -32,13 +35,95 @@
   #:use-module (gnu packages python)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages pulseaudio)  ;libsndfile, libsamplerate
   #:use-module (gnu packages compression)
   #:use-module (gnu packages multiprecision)
   #: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 video)
   #:use-module (gnu packages xorg))
 
+(define-public blender
+  (package
+    (name "blender")
+    (version "2.76b")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://download.blender.org/source/"
+                                  "blender-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0pb0mlj4vj0iir528ifqq67nsh3ca1942933d9cwlbpcja2jm1dx"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(;; Test files are very large and not included in the release tarball.
+       #:tests? #f
+       #:configure-flags
+       (list "-DWITH_CODEC_FFMPEG=ON"
+             "-DWITH_CODEC_SNDFILE=ON"
+             "-DWITH_CYCLES=ON"
+             "-DWITH_DOC_MANPAGE=ON"
+             "-DWITH_FFTW3=ON"
+             "-DWITH_GAMEENGINE=ON"
+             "-DWITH_IMAGE_OPENJPEG=ON"
+             "-DWITH_INPUT_NDOF=ON"
+             "-DWITH_INSTALL_PORTABLE=OFF"
+             "-DWITH_JACK=ON"
+             "-DWITH_MOD_OCEANSIM=ON"
+             "-DWITH_PLAYER=ON"
+             "-DWITH_PYTHON_INSTALL=OFF"
+             "-DWITH_SYSTEM_OPENJPEG=ON")
+       #:phases
+       (modify-phases %standard-phases
+         (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"
+                                    ":" (or (getenv "CPATH") "")))
+             #t)))))
+    (inputs
+     `(("boost" ,boost)
+       ("jemalloc" ,jemalloc)
+       ("libx11" ,libx11)
+       ("openimageio" ,openimageio)
+       ("openexr" ,openexr)
+       ("ilmbase" ,ilmbase)
+       ("openjpeg" ,openjpeg-1)
+       ("libjpeg" ,libjpeg)
+       ("libpng" ,libpng)
+       ("libtiff" ,libtiff)
+       ("ffmpeg" ,ffmpeg)
+       ("fftw" ,fftw)
+       ("jack" ,jack-1)
+       ("libsndfile" ,libsndfile)
+       ("freetype" ,freetype)
+       ("glew" ,glew)
+       ("openal" ,openal)
+       ("python" ,python-wrapper)
+       ("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.6.3


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [PATCH] Add Blender
  2016-02-28 13:57       ` Ricardo Wurmus
@ 2016-02-29 15:39         ` d.4.n.1
  2016-04-25 19:21           ` Danny Milosavljevic
  0 siblings, 1 reply; 12+ messages in thread
From: d.4.n.1 @ 2016-02-29 15:39 UTC (permalink / raw)
  To: rekado, ericbavier; +Cc: guix-devel

[-- Attachment #1: Type: text/html, Size: 3441 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] Add Blender
  2016-02-29 15:39         ` d.4.n.1
@ 2016-04-25 19:21           ` Danny Milosavljevic
  2016-04-25 21:43             ` Ludovic Courtès
  0 siblings, 1 reply; 12+ messages in thread
From: Danny Milosavljevic @ 2016-04-25 19:21 UTC (permalink / raw)
  To: d.4.n.1; +Cc: guix-devel

On Mon, 29 Feb 2016 12:39:11 -0300
"d.4.n.1" <d.4.n.1@riseup.net> wrote:

> Attached is the latest version of the patch.  The CPATH hack is still
> required.  I also had to disable the tests as the gigabytes of test
> files that would be required to run them are not included in the release
> tarballs.

Thanks! Blender works fine.

However, with recent git guix I get this while building blender:

/tmp/guix-build-blender-2.76b.drv-0/blender-2.76b/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp:61:32: error: ‘avcodec_alloc_frame’ was not declared in this scope
/tmp/guix-build-blender-2.76b.drv-0/blender-2.76b/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp:63:36: error: ‘avcodec_get_frame_defaults’ was not declared in this scope

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] Add Blender
  2016-04-25 19:21           ` Danny Milosavljevic
@ 2016-04-25 21:43             ` Ludovic Courtès
  2016-04-26  8:59               ` Danny Milosavljevic
  0 siblings, 1 reply; 12+ messages in thread
From: Ludovic Courtès @ 2016-04-25 21:43 UTC (permalink / raw)
  To: Danny Milosavljevic; +Cc: guix-devel

Danny Milosavljevic <dannym@scratchpost.org> skribis:

> On Mon, 29 Feb 2016 12:39:11 -0300
> "d.4.n.1" <d.4.n.1@riseup.net> wrote:
>
>> Attached is the latest version of the patch.  The CPATH hack is still
>> required.  I also had to disable the tests as the gigabytes of test
>> files that would be required to run them are not included in the release
>> tarballs.
>
> Thanks! Blender works fine.
>
> However, with recent git guix I get this while building blender:
>
> /tmp/guix-build-blender-2.76b.drv-0/blender-2.76b/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp:61:32: error: ‘avcodec_alloc_frame’ was not declared in this scope
> /tmp/guix-build-blender-2.76b.drv-0/blender-2.76b/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp:63:36: error: ‘avcodec_get_frame_defaults’ was not declared in this scope

I suppose Blender needs to use ‘ffmpeg-2.8’ (similar to
<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=23256>.)

Could you try and report back?

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] Add Blender
  2016-04-25 21:43             ` Ludovic Courtès
@ 2016-04-26  8:59               ` Danny Milosavljevic
  2016-04-27 12:18                 ` Ludovic Courtès
  0 siblings, 1 reply; 12+ messages in thread
From: Danny Milosavljevic @ 2016-04-26  8:59 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

> I suppose Blender needs to use ‘ffmpeg-2.8’ (similar to
> <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=23256>.)
> 
> Could you try and report back?

Yes, this works:

diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index c01eb39..ff17159 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -118,7 +118,7 @@
        ("libjpeg" ,libjpeg)
        ("libpng" ,libpng)
        ("libtiff" ,libtiff)
-       ("ffmpeg" ,ffmpeg)
+       ("ffmpeg-2.8" ,ffmpeg-2.8)
        ("fftw" ,fftw)
        ("jack" ,jack-1)
        ("libsndfile" ,libsndfile)

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [PATCH] Add Blender
  2016-04-26  8:59               ` Danny Milosavljevic
@ 2016-04-27 12:18                 ` Ludovic Courtès
  0 siblings, 0 replies; 12+ messages in thread
From: Ludovic Courtès @ 2016-04-27 12:18 UTC (permalink / raw)
  To: Danny Milosavljevic; +Cc: guix-devel

Danny Milosavljevic <dannym@scratchpost.org> skribis:

>> I suppose Blender needs to use ‘ffmpeg-2.8’ (similar to
>> <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=23256>.)
>> 
>> Could you try and report back?
>
> Yes, this works:
>
> diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
> index c01eb39..ff17159 100644
> --- a/gnu/packages/graphics.scm
> +++ b/gnu/packages/graphics.scm
> @@ -118,7 +118,7 @@
>         ("libjpeg" ,libjpeg)
>         ("libpng" ,libpng)
>         ("libtiff" ,libtiff)
> -       ("ffmpeg" ,ffmpeg)
> +       ("ffmpeg-2.8" ,ffmpeg-2.8)

Pushed, thanks!

Ludo’.

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2016-04-27 12:18 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-09-20 20:46 [PATCH] Add Blender Ricardo Wurmus
2015-09-21 23:45 ` Eric Bavier
2015-09-23  6:45   ` Ricardo Wurmus
2015-09-23 10:17     ` Andreas Enge
2015-09-26 12:00     ` Ricardo Wurmus
2016-02-28 13:57       ` Ricardo Wurmus
2016-02-29 15:39         ` d.4.n.1
2016-04-25 19:21           ` Danny Milosavljevic
2016-04-25 21:43             ` Ludovic Courtès
2016-04-26  8:59               ` Danny Milosavljevic
2016-04-27 12:18                 ` Ludovic Courtès
2015-09-26 12:47     ` Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).