summaryrefslogtreecommitdiff
path: root/gnu/packages/graphics.scm
diff options
context:
space:
mode:
authorMark H Weaver <mhw@netris.org>2020-07-31 13:04:36 -0400
committerMark H Weaver <mhw@netris.org>2020-07-31 13:38:47 -0400
commit96a655a77bb087397a9436391e472c36ff0a2ec2 (patch)
tree44a2082db782ab86d060bce12677414e3ea28535 /gnu/packages/graphics.scm
parentd4c9e81c077688d13dffa52733c2a7f9a5b85965 (diff)
gnu: Add blender@2.79b.
Restore blender@2.79b, the last version that does not require OpenGL 3, and therefore the last version to work on many older computers. Note that this commit relies on blender-2.79-newer-ffmpeg.patch and blender-2.79-python-3.7-fix.patch, which were left in the tree when blender@2.79b was previously removed in commit 1f14453eedfede4626a78321c66a009c9997bee4. * gnu/packages/patches/blender-2.79-gcc8.patch, gnu/packages/patches/blender-2.79-gcc9.patch, gnu/packages/patches/blender-2.79-oiio2.patch, gnu/packages/patches/blender-2.79-python-3.8-fix.patch: New files. * gnu/local.mk (dist_patch_DATA): Add them. * gnu/packages/graphics.scm (blender-2.79): New variable.
Diffstat (limited to 'gnu/packages/graphics.scm')
-rw-r--r--gnu/packages/graphics.scm96
1 files changed, 96 insertions, 0 deletions
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index cc7e761955..cdb13c2619 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -295,6 +295,102 @@ 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 blender-2.79
+ (package
+ (name "blender")
+ (version "2.79b")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://download.blender.org/source/"
+ "blender-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1g4kcdqmf67srzhi3hkdnr4z1ph4h9sza1pahz38mrj998q4r52c"))
+ (patches (search-patches "blender-2.79-newer-ffmpeg.patch"
+ "blender-2.79-oiio2.patch"
+ ;; The following patches may be
+ ;; needed when the default GCC is
+ ;; updated:
+ ;; "blender-2.79-gcc8.patch"
+ ;; "blender-2.79-gcc9.patch"
+ "blender-2.79-python-3.7-fix.patch"
+ "blender-2.79-python-3.8-fix.patch"))))
+ (build-system cmake-build-system)
+ (arguments
+ (let ((python-version (version-major+minor (package-version python))))
+ `(;; 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_PYTHON_INSTALL=OFF"
+ "-DWITH_SYSTEM_OPENJPEG=ON"
+ (string-append "-DPYTHON_LIBRARY=python" ,python-version)
+ (string-append "-DPYTHON_LIBPATH=" (assoc-ref %build-inputs "python")
+ "/lib")
+ (string-append "-DPYTHON_INCLUDE_DIR=" (assoc-ref %build-inputs "python")
+ "/include/python" ,python-version)
+ (string-append "-DPYTHON_VERSION=" ,python-version))
+ #: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)
+ ("libjpeg" ,libjpeg-turbo)
+ ("libpng" ,libpng)
+ ("libtiff" ,libtiff)
+ ("ffmpeg" ,ffmpeg)
+ ("fftw" ,fftw)
+ ("jack" ,jack-1)
+ ("libsndfile" ,libsndfile)
+ ("freetype" ,freetype)
+ ("glew" ,glew)
+ ("openal" ,openal)
+ ("python" ,python)
+ ("zlib" ,zlib)))
+ (home-page "https://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.
+
+NOTE: This older version of Blender is the last release that does not require
+OpenGL 3. It is retained for use with older computers.")
+ (license license:gpl2+)))
+
(define-public assimp
(package
(name "assimp")