From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ricardo Wurmus Subject: Re: [PATCH] Add Blender Date: Sun, 28 Feb 2016 14:57:45 +0100 Message-ID: <87twktc4yu.fsf@elephly.net> References: <87a8sg6cpx.fsf@elephly.net> <20150921184539.2cddac04@openmailbox.org> <87k2rhpraz.fsf@elephly.net> <87612xpf02.fsf@elephly.net> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:49670) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aa1r9-0006Wa-7e for guix-devel@gnu.org; Sun, 28 Feb 2016 08:57:56 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aa1r5-0007Kt-Tn for guix-devel@gnu.org; Sun, 28 Feb 2016 08:57:55 -0500 Received: from sender163-mail.zoho.com ([74.201.84.163]:25662) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aa1r5-0007Kl-L1 for guix-devel@gnu.org; Sun, 28 Feb 2016 08:57:51 -0500 In-reply-to: <87612xpf02.fsf@elephly.net> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Eric Bavier Cc: guix-devel --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Ricardo Wurmus writes: > Ricardo Wurmus writes: > >> Eric Bavier 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 >> >> with >> >> #include >> >> 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 --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: inline; filename=0001-gnu-Add-Blender.patch Content-Transfer-Encoding: 8bit >From 07412eca49e8c0238ffce93097db0adffce13556 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus 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 ;;; Copyright © 2015 Tomáš Čech +;;; Copyright © 2016 Ricardo Wurmus ;;; ;;; 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 --=-=-=--