1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-05-26 11:01:48 +02:00
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
1f14453eed.

* 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.
This commit is contained in:
Mark H Weaver
2020-07-31 13:04:36 -04:00
parent d4c9e81c07
commit 96a655a77b
6 changed files with 677 additions and 0 deletions
+96
View File
@@ -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")