gnu: emacs-el-search: Update to 1.12.6.1-2.07bed84.
[jackhill/guix/guix.git] / gnu / packages / graphics.scm
CommitLineData
f327b36e 1;;; GNU Guix --- Functional package management for GNU
79f912c7 2;;; Copyright © 2015, 2016 Ludovic Courtès <ludo@gnu.org>
e9f1fa39 3;;; Copyright © 2015 Tomáš Čech <sleep_walker@gnu.org>
04d52b1a 4;;; Copyright © 2016, 2019 Leo Famulari <leo@famulari.name>
df8ab774 5;;; Copyright © 2016, 2017, 2019 Ricardo Wurmus <rekado@elephly.net>
1cd968e8 6;;; Copyright © 2016, 2018 Efraim Flashner <efraim@flashner.co.il>
42bf3429 7;;; Copyright © 2016 Andreas Enge <andreas@enge.fr>
6bf11392 8;;; Copyright © 2017 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
f63d6188 9;;; Copyright © 2017, 2018 Ben Woodcroft <donttrustben@gmail.com>
3def739d 10;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
17153d18 11;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
fc4f13bd 12;;; Copyright © 2018 Alex Kost <alezost@gmail.com>
340ee00b 13;;; Copyright © 2018 Kei Kebreau <kkebreau@posteo.net>
8b672b2c 14;;; Copyright © 2019 Mark H Weaver <mhw@netris.org>
13f30b54 15;;; Copyright © 2019 Carlo Zancanaro <carlo@zancanaro.id.au>
c3c0eda6 16;;; Copyright © 2019 Steve Sprang <scs@stevesprang.com>
f36617cb 17;;; Copyright © 2019 John Soo <jsoo1@asu.edu>
24f7bac0 18;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
942c7889 19;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
f327b36e
LC
20;;;
21;;; This file is part of GNU Guix.
22;;;
23;;; GNU Guix is free software; you can redistribute it and/or modify it
24;;; under the terms of the GNU General Public License as published by
25;;; the Free Software Foundation; either version 3 of the License, or (at
26;;; your option) any later version.
27;;;
28;;; GNU Guix is distributed in the hope that it will be useful, but
29;;; WITHOUT ANY WARRANTY; without even the implied warranty of
30;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
31;;; GNU General Public License for more details.
32;;;
33;;; You should have received a copy of the GNU General Public License
34;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
35
36(define-module (gnu packages graphics)
cab6a253 37 #:use-module (gnu packages)
0e2f2aeb
RW
38 #:use-module (gnu packages algebra)
39 #:use-module (gnu packages audio)
87bafa07
40 #:use-module (gnu packages autotools)
41 #:use-module (gnu packages bash)
96d15e48 42 #:use-module (gnu packages bison)
87bafa07 43 #:use-module (gnu packages boost)
dd75a9a2 44 #:use-module (gnu packages check)
595d1bd5 45 #:use-module (gnu packages compression)
99828fa7 46 #:use-module (gnu packages documentation)
96d15e48 47 #:use-module (gnu packages flex)
dd75a9a2 48 #:use-module (gnu packages fonts)
87bafa07 49 #:use-module (gnu packages fontutils)
595d1bd5 50 #:use-module (gnu packages ghostscript)
a29bfc28 51 #:use-module (gnu packages gl)
96d15e48 52 #:use-module (gnu packages glib)
595d1bd5 53 #:use-module (gnu packages gnome)
96d15e48
RW
54 #:use-module (gnu packages graphviz)
55 #:use-module (gnu packages gtk)
dddbc90c 56 #:use-module (gnu packages haskell-xyz)
0e2f2aeb 57 #:use-module (gnu packages image)
595d1bd5 58 #:use-module (gnu packages imagemagick)
0e2f2aeb 59 #:use-module (gnu packages jemalloc)
595d1bd5
TGR
60 #:use-module (gnu packages multiprecision)
61 #:use-module (gnu packages pdf)
62 #:use-module (gnu packages perl)
0e2f2aeb 63 #:use-module (gnu packages photo)
595d1bd5 64 #:use-module (gnu packages pkg-config)
6bf11392 65 #:use-module (gnu packages pth)
595d1bd5 66 #:use-module (gnu packages pulseaudio) ; libsndfile, libsamplerate
0e2f2aeb 67 #:use-module (gnu packages python)
44d10b1f 68 #:use-module (gnu packages python-xyz)
87bafa07 69 #:use-module (gnu packages qt)
96d15e48 70 #:use-module (gnu packages readline)
87bafa07 71 #:use-module (gnu packages sdl)
dd75a9a2 72 #:use-module (gnu packages swig)
0e2f2aeb 73 #:use-module (gnu packages video)
96d15e48 74 #:use-module (gnu packages xml)
595d1bd5
TGR
75 #:use-module (gnu packages xorg)
76 #:use-module (guix build-system cmake)
77 #:use-module (guix build-system gnu)
78 #:use-module (guix build-system python)
79 #:use-module (guix download)
80 #:use-module (guix git-download)
81 #:use-module ((guix licenses) #:prefix license:)
82 #:use-module (guix packages)
83 #:use-module (guix utils))
f327b36e 84
0e2f2aeb
RW
85(define-public blender
86 (package
87 (name "blender")
274ba54e 88 (version "2.80")
0e2f2aeb 89 (source (origin
274ba54e
LF
90 (method url-fetch)
91 (uri (string-append "https://download.blender.org/source/"
92 "blender-" version ".tar.gz"))
0e2f2aeb
RW
93 (sha256
94 (base32
274ba54e 95 "1h550jisdbis50hxwk5kxrvrk1a6sh2fsri3yyj66vhzbi87x7fd"))))
0e2f2aeb
RW
96 (build-system cmake-build-system)
97 (arguments
bb9cd6de
LF
98 (let ((python-version (version-major+minor (package-version python))))
99 `(;; Test files are very large and not included in the release tarball.
100 #:tests? #f
101 #:configure-flags
102 (list "-DWITH_CODEC_FFMPEG=ON"
103 "-DWITH_CODEC_SNDFILE=ON"
104 "-DWITH_CYCLES=ON"
105 "-DWITH_DOC_MANPAGE=ON"
106 "-DWITH_FFTW3=ON"
bb9cd6de
LF
107 "-DWITH_IMAGE_OPENJPEG=ON"
108 "-DWITH_INPUT_NDOF=ON"
109 "-DWITH_INSTALL_PORTABLE=OFF"
110 "-DWITH_JACK=ON"
111 "-DWITH_MOD_OCEANSIM=ON"
588a0a33 112 "-DWITH_OPENSUBDIV=ON"
bb9cd6de 113 "-DWITH_PYTHON_INSTALL=OFF"
bb9cd6de
LF
114 (string-append "-DPYTHON_LIBRARY=python" ,python-version "m")
115 (string-append "-DPYTHON_LIBPATH=" (assoc-ref %build-inputs "python")
116 "/lib")
117 (string-append "-DPYTHON_INCLUDE_DIR=" (assoc-ref %build-inputs "python")
118 "/include/python" ,python-version "m")
fc51c28a
LF
119 (string-append "-DPYTHON_VERSION=" ,python-version)
120 (string-append "-DPYTHON_NUMPY_PATH="
121 (assoc-ref %build-inputs "python-numpy")
122 "/lib/python" ,python-version "/site-packages/"))
bb9cd6de
LF
123 #:phases
124 (modify-phases %standard-phases
fc51c28a
LF
125 ;; XXX This file doesn't exist in the Git sources but will probably
126 ;; exist in the eventual 2.80 source tarball.
127; (add-after 'unpack 'fix-broken-import
128; (lambda _
129; (substitute* "release/scripts/addons/io_scene_fbx/json2fbx.py"
130; (("import encode_bin") "from . import encode_bin"))
131; #t))
bb9cd6de
LF
132 (add-after 'set-paths 'add-ilmbase-include-path
133 (lambda* (#:key inputs #:allow-other-keys)
134 ;; OpenEXR propagates ilmbase, but its include files do not appear
135 ;; in the CPATH, so we need to add "$ilmbase/include/OpenEXR/" to
136 ;; the CPATH to satisfy the dependency on "half.h".
137 (setenv "CPATH"
138 (string-append (assoc-ref inputs "ilmbase")
139 "/include/OpenEXR"
140 ":" (or (getenv "CPATH") "")))
141 #t))))))
0e2f2aeb
RW
142 (inputs
143 `(("boost" ,boost)
144 ("jemalloc" ,jemalloc)
145 ("libx11" ,libx11)
146 ("openimageio" ,openimageio)
147 ("openexr" ,openexr)
588a0a33 148 ("opensubdiv" ,opensubdiv)
0e2f2aeb 149 ("ilmbase" ,ilmbase)
fc51c28a 150 ("openjpeg" ,openjpeg)
0e2f2aeb
RW
151 ("libjpeg" ,libjpeg)
152 ("libpng" ,libpng)
153 ("libtiff" ,libtiff)
5deb0c67 154 ("ffmpeg" ,ffmpeg)
0e2f2aeb
RW
155 ("fftw" ,fftw)
156 ("jack" ,jack-1)
157 ("libsndfile" ,libsndfile)
158 ("freetype" ,freetype)
159 ("glew" ,glew)
160 ("openal" ,openal)
bb9cd6de 161 ("python" ,python)
fc51c28a 162 ("python-numpy" ,python-numpy)
0e2f2aeb 163 ("zlib" ,zlib)))
9a6f5bbc 164 (home-page "https://blender.org/")
0e2f2aeb
RW
165 (synopsis "3D graphics creation suite")
166 (description
167 "Blender is a 3D graphics creation suite. It supports the entirety of
168the 3D pipeline—modeling, rigging, animation, simulation, rendering,
169compositing and motion tracking, even video editing and game creation. The
6af4cb30 170application can be customized via its API for Python scripting.")
dd9c137b 171 (license license:gpl2+)))
0e2f2aeb 172
8b672b2c
MW
173(define-public blender-2.79
174 (package
175 (name "blender")
176 (version "2.79b")
177 (source (origin
178 (method url-fetch)
179 (uri (string-append "https://download.blender.org/source/"
180 "blender-" version ".tar.gz"))
181 (sha256
182 (base32
183 "1g4kcdqmf67srzhi3hkdnr4z1ph4h9sza1pahz38mrj998q4r52c"))
184 (patches (search-patches "blender-2.79-newer-ffmpeg.patch"
185 "blender-2.79-python-3.7-fix.patch"))))
186 (build-system cmake-build-system)
187 (arguments
188 (let ((python-version (version-major+minor (package-version python))))
189 `(;; Test files are very large and not included in the release tarball.
190 #:tests? #f
191 #:configure-flags
192 (list "-DWITH_CODEC_FFMPEG=ON"
193 "-DWITH_CODEC_SNDFILE=ON"
194 "-DWITH_CYCLES=ON"
195 "-DWITH_DOC_MANPAGE=ON"
196 "-DWITH_FFTW3=ON"
197 "-DWITH_GAMEENGINE=ON"
198 "-DWITH_IMAGE_OPENJPEG=ON"
199 "-DWITH_INPUT_NDOF=ON"
200 "-DWITH_INSTALL_PORTABLE=OFF"
201 "-DWITH_JACK=ON"
202 "-DWITH_MOD_OCEANSIM=ON"
203 "-DWITH_PLAYER=ON"
204 "-DWITH_PYTHON_INSTALL=OFF"
205 "-DWITH_PYTHON_INSTALL=OFF"
206 "-DWITH_SYSTEM_OPENJPEG=ON"
207 (string-append "-DPYTHON_LIBRARY=python" ,python-version "m")
208 (string-append "-DPYTHON_LIBPATH=" (assoc-ref %build-inputs "python")
209 "/lib")
210 (string-append "-DPYTHON_INCLUDE_DIR=" (assoc-ref %build-inputs "python")
211 "/include/python" ,python-version "m")
212 (string-append "-DPYTHON_VERSION=" ,python-version))
213 #:phases
214 (modify-phases %standard-phases
215 (add-after 'unpack 'fix-broken-import
216 (lambda _
217 (substitute* "release/scripts/addons/io_scene_fbx/json2fbx.py"
218 (("import encode_bin") "from . import encode_bin"))
219 #t))
220 (add-after 'set-paths 'add-ilmbase-include-path
221 (lambda* (#:key inputs #:allow-other-keys)
222 ;; OpenEXR propagates ilmbase, but its include files do not appear
223 ;; in the CPATH, so we need to add "$ilmbase/include/OpenEXR/" to
224 ;; the CPATH to satisfy the dependency on "half.h".
225 (setenv "CPATH"
226 (string-append (assoc-ref inputs "ilmbase")
227 "/include/OpenEXR"
228 ":" (or (getenv "CPATH") "")))
229 #t))))))
230 (inputs
231 `(("boost" ,boost)
232 ("jemalloc" ,jemalloc)
233 ("libx11" ,libx11)
04d52b1a 234 ("openimageio" ,openimageio-1.7)
8b672b2c
MW
235 ("openexr" ,openexr)
236 ("ilmbase" ,ilmbase)
237 ("openjpeg" ,openjpeg-1)
238 ("libjpeg" ,libjpeg)
239 ("libpng" ,libpng)
240 ("libtiff" ,libtiff)
241 ("ffmpeg" ,ffmpeg)
242 ("fftw" ,fftw)
243 ("jack" ,jack-1)
244 ("libsndfile" ,libsndfile)
245 ("freetype" ,freetype)
246 ("glew" ,glew)
247 ("openal" ,openal)
248 ("python" ,python)
249 ("zlib" ,zlib)))
250 (home-page "https://blender.org/")
251 (synopsis "3D graphics creation suite")
252 (description
253 "Blender is a 3D graphics creation suite. It supports the entirety of
254the 3D pipeline—modeling, rigging, animation, simulation, rendering,
255compositing and motion tracking, even video editing and game creation. The
256application can be customized via its API for Python scripting.
257
258NOTE: This older version of Blender is the last release that does not require
259OpenGL 3. It is retained for use with older computers.")
260 (license license:gpl2+)))
261
5a82f933
RW
262(define-public assimp
263 (package
264 (name "assimp")
2d4514e9 265 (version "4.1.0")
5a82f933 266 (source (origin
2d4514e9
EF
267 (method git-fetch)
268 (uri (git-reference
269 (url "https://github.com/assimp/assimp.git")
270 (commit (string-append "v" version))))
271 (file-name (git-file-name name version))
5a82f933
RW
272 (sha256
273 (base32
2d4514e9 274 "1rhyqfhzifdj7yibyanph3rh13ykw3i98dnn8mz65j780472hw28"))))
5a82f933
RW
275 (build-system cmake-build-system)
276 (inputs
277 `(("zlib" ,zlib)))
2d4514e9 278 (home-page "http://www.assimp.org/")
5a82f933
RW
279 (synopsis "Asset import library")
280 (description
281 "The Open Asset Import Library loads more than 40 3D file formats into
282one unified data structure. Additionally, assimp features various mesh post
283processing tools: normals and tangent space generation, triangulation, vertex
284cache locality optimization, removal of degenerate primitives and duplicate
285vertices, sorting by primitive type, merging of redundant materials and many
286more.")
287 (license license:bsd-3)))
288
f327b36e
LC
289(define-public cgal
290 (package
291 (name "cgal")
0a7fc756 292 (version "4.8.1")
f327b36e
LC
293 (source (origin
294 (method url-fetch)
295 (uri (string-append
0a7fc756
EF
296 "https://github.com/CGAL/cgal/releases/download/releases/"
297 "CGAL-" version "/CGAL-" version ".tar.xz"))
f327b36e
LC
298 (sha256
299 (base32
0a7fc756 300 "1c41yzl2jg3d6zx5k0iccwqwibp950q7dr7z7pp4xi9wlph3c87s"))))
f327b36e
LC
301 (build-system cmake-build-system)
302 (arguments
303 '(;; "RelWithDebInfo" is not supported.
304 #:build-type "Release"
305
306 ;; No 'test' target.
307 #:tests? #f))
308 (inputs
309 `(("mpfr" ,mpfr)
310 ("gmp" ,gmp)
311 ("boost" ,boost)))
312 (home-page "http://cgal.org/")
313 (synopsis "Computational geometry algorithms library")
314 (description
315 "CGAL provides easy access to efficient and reliable geometric algorithms
316in the form of a C++ library. CGAL is used in various areas needing geometric
317computation, such as: computer graphics, scientific visualization, computer
318aided design and modeling, geographic information systems, molecular biology,
319medical imaging, robotics and motion planning, mesh generation, numerical
320methods, etc. It provides data structures and algorithms such as
321triangulations, Voronoi diagrams, polygons, polyhedra, mesh generation, and
322many more.")
323
324 ;; The 'LICENSE' file explains that a subset is available under more
325 ;; permissive licenses.
326 (license license:gpl3+)))
cab6a253
LC
327
328(define-public ilmbase
329 (package
330 (name "ilmbase")
942c7889 331 (version "2.4.0")
cab6a253 332 (source (origin
942c7889
MB
333 (method git-fetch)
334 (uri (git-reference
335 (url "https://github.com/openexr/openexr")
336 (commit (string-append "v" version))))
337 (file-name (git-file-name "ilmbase" version))
cab6a253
LC
338 (sha256
339 (base32
942c7889
MB
340 "0g3rz11cvb7gnphp2np9z7bfl7v4dprq4w5hnsvx7yrasgsdyn8s"))
341 (patches (search-patches "ilmbase-fix-tests.patch"
342 "ilmbase-openexr-pkg-config.patch"))))
343 (build-system cmake-build-system)
344 (arguments
345 `(#:phases (modify-phases %standard-phases
346 (add-after 'unpack 'change-directory
347 (lambda _
348 (chdir "IlmBase")
349 #t)))))
25c4a04f 350 (home-page "https://www.openexr.com/")
cab6a253
LC
351 (synopsis "Utility C++ libraries for threads, maths, and exceptions")
352 (description
353 "IlmBase provides several utility libraries for C++. Half is a class
354that encapsulates ILM's 16-bit floating-point format. IlmThread is a thread
355abstraction. Imath implements 2D and 3D vectors, 3x3 and 4x4 matrices,
356quaternions and other useful 2D and 3D math functions. Iex is an
357exception-handling library.")
358 (license license:bsd-3)))
359
dd75a9a2
MR
360(define-public ogre
361 (package
362 (name "ogre")
f63d6188 363 (version "1.10.11")
dd75a9a2
MR
364 (source
365 (origin
1aa662b3
EF
366 (method git-fetch)
367 (uri (git-reference
368 (url "https://github.com/OGRECave/ogre.git")
369 (commit (string-append "v" version))))
370 (file-name (git-file-name name version))
dd75a9a2
MR
371 (sha256
372 (base32
1aa662b3 373 "072rzw9mxymbiypgkrbkk9h10rgly6gczik4dlmssk6xkpqckaqr"))))
dd75a9a2
MR
374 (build-system cmake-build-system)
375 (arguments
376 '(#:phases
377 (modify-phases %standard-phases
378 (add-before 'configure 'pre-configure
dd75a9a2 379 (lambda* (#:key inputs #:allow-other-keys)
d5640c58
EF
380 (substitute* "Tests/CMakeLists.txt"
381 (("URL(.*)$")
382 (string-append "URL " (assoc-ref inputs "googletest-source"))))
dd75a9a2
MR
383 #t)))
384 #:configure-flags
385 (list "-DOGRE_BUILD_TESTS=TRUE"
386 (string-append "-DCMAKE_INSTALL_RPATH="
387 (assoc-ref %outputs "out") "/lib:"
388 (assoc-ref %outputs "out") "/lib/OGRE:"
389 (assoc-ref %build-inputs "googletest") "/lib")
390 "-DOGRE_INSTALL_DOCS=TRUE"
391 "-DOGRE_INSTALL_SAMPLES=TRUE"
392 "-DOGRE_INSTALL_SAMPLES_SOURCE=TRUE")))
393 (native-inputs
394 `(("boost" ,boost)
395 ("doxygen" ,doxygen)
396 ("googletest-source" ,(package-source googletest))
397 ("pkg-config" ,pkg-config)))
398 (inputs
399 `(("font-dejavu" ,font-dejavu)
400 ("freeimage" ,freeimage)
401 ("freetype" ,freetype)
402 ("glu" ,glu)
403 ("googletest" ,googletest)
404 ("sdl2" ,sdl2)
405 ("libxaw" ,libxaw)
406 ("libxrandr" ,libxrandr)
407 ("tinyxml" ,tinyxml)
408 ("zziplib" ,zziplib)))
409 (synopsis "Scene-oriented, flexible 3D engine written in C++")
410 (description
411 "OGRE (Object-Oriented Graphics Rendering Engine) is a scene-oriented,
412flexible 3D engine written in C++ designed to make it easier and more intuitive
413for developers to produce applications utilising hardware-accelerated 3D
414graphics.")
415 (home-page "http://www.ogre3d.org/")
416 (license license:expat)))
417
cab6a253
LC
418(define-public openexr
419 (package
420 (name "openexr")
942c7889 421 (version (package-version ilmbase))
cab6a253 422 (source (origin
942c7889
MB
423 (inherit (package-source ilmbase))
424 (file-name (git-file-name "openexr" version))
cab6a253
LC
425 (modules '((guix build utils)))
426 (snippet
c2c36f5f 427 '(begin
942c7889 428 (substitute* (find-files "OpenEXR" "tmpDir\\.h")
c2c36f5f
LC
429 (("\"/var/tmp/\"")
430 "\"/tmp/\""))
fcde1d27 431 #t))))
942c7889 432 (build-system cmake-build-system)
bce6f7ce
LF
433 (arguments
434 '(#:phases
435 (modify-phases %standard-phases
942c7889
MB
436 (add-after 'unpack 'change-directory
437 (lambda _
438 (chdir "OpenEXR")
439 #t))
440 (add-after 'change-directory 'disable-broken-test
bce6f7ce
LF
441 ;; This test fails on i686. Upstream developers suggest that
442 ;; this test is broken on i686 and can be safely disabled:
443 ;; https://github.com/openexr/openexr/issues/67#issuecomment-21169748
444 (lambda _
445 (substitute* "IlmImfTest/main.cpp"
446 (("#include \"testOptimizedInterleavePatterns.h\"")
447 "//#include \"testOptimizedInterleavePatterns.h\"")
448 (("TEST \\(testOptimizedInterleavePatterns")
449 "//TEST (testOptimizedInterleavePatterns"))
450 #t)))))
cab6a253
LC
451 (native-inputs
452 `(("pkg-config" ,pkg-config)))
453 (propagated-inputs
454 `(("ilmbase" ,ilmbase) ;used in public headers
455 ("zlib" ,zlib))) ;OpenEXR.pc reads "-lz"
25c4a04f 456 (home-page "https://www.openexr.com/")
9f2840cb 457 (synopsis "High-dynamic range file format library")
cab6a253
LC
458 (description
459 "OpenEXR is a high dynamic-range (HDR) image file format developed for
9f2840cb
LC
460use in computer imaging applications. The IlmImf C++ libraries support
461storage of the \"EXR\" file format for storing 16-bit floating-point images.")
cab6a253 462 (license license:bsd-3)))
9d620590 463
71299c12
RW
464(define-public openimageio
465 (package
466 (name "openimageio")
04d52b1a 467 (version "1.8.17")
71299c12 468 (source (origin
1cd968e8
EF
469 (method git-fetch)
470 (uri (git-reference
471 (url "https://github.com/OpenImageIO/oiio.git")
472 (commit (string-append "Release-" version))))
473 (file-name (git-file-name name version))
71299c12
RW
474 (sha256
475 (base32
04d52b1a 476 "0zq34szprgkrrayg5sl3whrsx2l6lr8nw4hdrnwv2qhn70jbi2w2"))))
71299c12
RW
477 (build-system cmake-build-system)
478 ;; FIXME: To run all tests successfully, test image sets from multiple
479 ;; third party sources have to be present. For details see
480 ;; https://github.com/OpenImageIO/oiio/blob/master/INSTALL
481 (arguments `(#:tests? #f))
482 (native-inputs
483 `(("pkg-config" ,pkg-config)))
484 (inputs
485 `(("boost" ,boost)
486 ("libpng" ,libpng)
09982785 487 ("libjpeg" ,libjpeg)
71299c12
RW
488 ("libtiff" ,libtiff)
489 ("giflib" ,giflib)
490 ("openexr" ,openexr)
491 ("ilmbase" ,ilmbase)
492 ("python" ,python-2)
493 ("zlib" ,zlib)))
494 (synopsis "C++ library for reading and writing images")
495 (description
496 "OpenImageIO is a library for reading and writing images, and a bunch of
497related classes, utilities, and applications. There is a particular emphasis
498on formats and functionality used in professional, large-scale animation and
499visual effects work for film.")
500 (home-page "http://www.openimageio.org")
501 (license license:bsd-3)))
502
04d52b1a
LF
503;; This older version of OpenImageIO is required for Blender 2.79.
504(define-public openimageio-1.7
505 (package
506 (inherit openimageio)
507 (name "openimageio")
508 (version "1.7.19")
509 (source (origin
510 (method git-fetch)
511 (uri (git-reference
512 (url "https://github.com/OpenImageIO/oiio.git")
513 (commit (string-append "Release-" version))))
514 (file-name (git-file-name name version))
515 (sha256
516 (base32
517 "0yxxy43l3lllw7maqg42dlkgqms2d4772sxzxk7kmxg4lnhsvndc"))))))
518
6bf11392
MR
519(define-public openscenegraph
520 (package
521 (name "openscenegraph")
24f7bac0 522 (version "3.6.4")
6bf11392
MR
523 (source
524 (origin
fc4f13bd
AK
525 (method git-fetch)
526 (uri (git-reference
527 (url "https://github.com/openscenegraph/OpenSceneGraph")
528 (commit (string-append "OpenSceneGraph-" version))))
6bf11392
MR
529 (sha256
530 (base32
24f7bac0 531 "0x8hdbzw0b71j91fzp9cwmy9a7ava8v8wwyj8nxijq942vdx1785"))
3752b683 532 (file-name (git-file-name name version))))
fc4f13bd
AK
533 (properties
534 `((upstream-name . "OpenSceneGraph")))
6bf11392
MR
535 (build-system cmake-build-system)
536 (arguments
3def739d
TGR
537 `(#:tests? #f ; no test target available
538 ;; Without this flag, 'rd' will be added to the name of the
539 ;; library binaries and break linking with other programs.
540 #:build-type "Release"
6bf11392
MR
541 #:configure-flags
542 (list (string-append "-DCMAKE_INSTALL_RPATH="
543 (assoc-ref %outputs "out") "/lib:"
3def739d 544 (assoc-ref %outputs "out") "/lib64"))))
6bf11392 545 (native-inputs
fc4f13bd
AK
546 `(("pkg-config" ,pkg-config)
547 ("unzip" ,unzip)))
6bf11392 548 (inputs
c695fb76 549 `(("giflib" ,giflib)
24f7bac0 550 ("libjpeg" ,libjpeg) ; Required for the JPEG texture plugin.
c695fb76
TGR
551 ("jasper" ,jasper)
552 ("librsvg" ,librsvg)
fc4f13bd 553 ("libxrandr" ,libxrandr)
c695fb76
TGR
554 ("ffmpeg" ,ffmpeg)
555 ("mesa" ,mesa)))
6bf11392
MR
556 (synopsis "High performance real-time graphics toolkit")
557 (description
d7c5aac1 558 "The OpenSceneGraph is a high performance 3D graphics toolkit
6bf11392 559used by application developers in fields such as visual simulation, games,
d7c5aac1 560virtual reality, scientific visualization and modeling.")
6bf11392
MR
561 (home-page "http://www.openscenegraph.org")
562 ;; The 'LICENSE' file explains that the source is licensed under
563 ;; LGPL 2.1, but with 4 exceptions. This version is called OSGPL.
564 (license license:lgpl2.1)))
565
df8ab774
RW
566;; We need this for simgear
567(define-public openscenegraph-3.4
568 (package (inherit openscenegraph)
569 (name "openscenegraph")
570 (version "3.4.1")
571 (source
572 (origin
573 (method git-fetch)
574 (uri (git-reference
575 (url "https://github.com/openscenegraph/OpenSceneGraph")
576 (commit (string-append "OpenSceneGraph-" version))))
577 (file-name (git-file-name name version))
578 (sha256
579 (base32
580 "1fbzg1ihjpxk6smlq80p3h3ggllbr16ihd2fxpfwzam8yr8yxip9"))))
581 (arguments
582 (substitute-keyword-arguments (package-arguments openscenegraph)
583 ((#:configure-flags flags)
584 `(cons
585 ;; The jpeg plugin requires conversion between integers and booleans
586 "-DCMAKE_CXX_FLAGS=-fpermissive"
587 ,flags))))
588 (inputs
589 `(("libjpeg" ,libjpeg)
590 ,@(package-inputs openscenegraph)))))
591
340ee00b
KK
592(define-public povray
593 (package
594 (name "povray")
595 (version "3.7.0.8")
596 (source (origin
597 (method git-fetch)
598 (uri (git-reference
599 (url "https://github.com/POV-Ray/povray")
600 (commit (string-append "v" version))))
601 (file-name (git-file-name name version))
602 (sha256
603 (base32
604 "1q114n4m3r7qy3yn954fq7p46rg7ypdax5fazxr9yj1jklf1lh6z"))
605 (modules '((guix build utils)))
606 (snippet
607 '(begin
608 ;; Delete bundled libraries.
609 (delete-file-recursively "libraries")
610 #t))))
611 (build-system gnu-build-system)
612 (native-inputs
613 `(("autoconf" ,autoconf)
614 ("automake" ,automake)
615 ("pkg-config" ,pkg-config)))
616 (inputs
617 `(("boost" ,boost)
618 ("libjpeg" ,libjpeg)
619 ("libpng" ,libpng)
620 ("libtiff" ,libtiff)
621 ("openexr" ,openexr)
622 ("sdl" ,sdl)
623 ("zlib" ,zlib)))
624 (arguments
625 '(#:configure-flags
626 (list "COMPILED_BY=Guix"
627 (string-append "--with-boost-libdir="
628 (assoc-ref %build-inputs "boost") "/lib")
629 "CXXFLAGS=-std=c++11"
630 "--disable-optimiz-arch")
631 #:phases
632 (modify-phases %standard-phases
633 (add-after 'unpack 'run-prebuild
634 (lambda _
635 (setenv "HOME" (getcwd))
636 (with-directory-excursion "unix"
637 (substitute* "prebuild.sh"
638 (("/bin/sh") (which "sh")))
639 (invoke "sh" "prebuild.sh"))
640 #t))
641 ;; The bootstrap script is run by the prebuild script in the
642 ;; "run-prebuild" phase.
643 (delete 'bootstrap))))
644 (synopsis "Tool for creating three-dimensional graphics")
645 (description
646 "@code{POV-Ray} is short for the Persistence of Vision Raytracer, a tool
647for producing high-quality computer graphics. @code{POV-Ray} creates
648three-dimensional, photo-realistic images using a rendering technique called
649ray-tracing. It reads in a text file containing information describing the
650objects and lighting in a scene and generates an image of that scene from the
651view point of a camera also described in the text file. Ray-tracing is not a
652fast process by any means, but it produces very high quality images with
653realistic reflections, shading, perspective and other effects.")
654 (home-page "http://www.povray.org/")
655 (license license:agpl3+)))
656
96d15e48
RW
657(define-public rapicorn
658 (package
659 (name "rapicorn")
660 (version "16.0.0")
661 (source (origin
662 (method url-fetch)
663 (uri (string-append "https://testbit.eu/pub/dists/rapicorn/"
664 "rapicorn-" version ".tar.xz"))
665 (sha256
666 (base32
42bf3429
AE
667 "1y51yjrpsihas1jy905m9p3r8iiyhq6bwi2690c564i5dnix1f9d"))
668 (patches (search-patches "rapicorn-isnan.patch"))))
96d15e48
RW
669 (build-system gnu-build-system)
670 (arguments
002528bc 671 `(#:phases
96d15e48 672 (modify-phases %standard-phases
002528bc
RW
673 (add-after 'unpack 'fix-tests
674 (lambda _
675 ;; Our grep does not support perl regular expressions.
676 (substitute* "taptool.sh"
677 (("grep -P") "grep -E"))
678 ;; Disable path tests because we cannot access /bin or /sbin.
679 (substitute* "rcore/tests/multitest.cc"
680 (("TCMP \\(Path::equals \\(\"/bin\"") "//"))
681 #t))
682 (add-before 'check 'pre-check
683 (lambda _
684 ;; The test suite requires a running X server (with DISPLAY
685 ;; number 99 or higher).
686 (system "Xvfb :99 &")
687 (setenv "DISPLAY" ":99")
688 #t))
689 (add-after 'unpack 'replace-fhs-paths
96d15e48
RW
690 (lambda _
691 (substitute* (cons "Makefile.decl"
692 (find-files "." "^Makefile\\.in$"))
002528bc
RW
693 (("/bin/ls") (which "ls"))
694 (("/usr/bin/env") (which "env")))
96d15e48
RW
695 #t)))))
696 ;; These libraries are listed in the "Required" section of the pkg-config
697 ;; file.
698 (propagated-inputs
699 `(("librsvg" ,librsvg)
700 ("cairo" ,cairo)
701 ("pango" ,pango)
002528bc
RW
702 ("libxml2" ,libxml2)
703 ("python2-enum34" ,python2-enum34)))
96d15e48
RW
704 (inputs
705 `(("gdk-pixbuf" ,gdk-pixbuf)
706 ("libpng" ,libpng-1.2)
707 ("readline" ,readline)
708 ("libcroco" ,libcroco)
709 ("python" ,python-2)
710 ("cython" ,python2-cython)))
711 (native-inputs
712 `(("pandoc" ,ghc-pandoc)
713 ("bison" ,bison)
714 ("flex" ,flex)
715 ("doxygen" ,doxygen)
716 ("graphviz" ,graphviz)
717 ("intltool" ,intltool)
002528bc
RW
718 ("pkg-config" ,pkg-config)
719 ("xvfb" ,xorg-server)))
36c5cf75 720 (home-page "https://rapicorn.testbit.org/")
96d15e48
RW
721 (synopsis "Toolkit for rapid development of user interfaces")
722 (description
723 "Rapicorn is a toolkit for rapid development of user interfaces in C++
724and Python. The user interface is designed in a declarative markup language
725and is connected to the programming logic using data bindings and commands.")
726 (license license:mpl2.0)))
727
9d620590
LC
728(define-public ctl
729 (package
730 (name "ctl")
731 (version "1.5.2")
732 (source (origin
733 (method url-fetch)
734 (uri (string-append "https://github.com/ampas/CTL/archive/ctl-"
735 version ".tar.gz"))
736 (sha256
737 (base32
738 "1gg04pyvw0m398akn0s1l07g5b1haqv5na1wpi5dii1jjd1w3ynp"))))
739 (build-system cmake-build-system)
740 (arguments '(#:tests? #f)) ;no 'test' target
741
742 ;; Headers include OpenEXR and IlmBase headers.
743 (propagated-inputs `(("openexr" ,openexr)))
744
745 (home-page "http://ampasctl.sourceforge.net")
746 (synopsis "Color Transformation Language")
747 (description
748 "The Color Transformation Language, or CTL, is a small programming
749language that was designed to serve as a building block for digital color
750management systems. CTL allows users to describe color transforms in a
751concise and unambiguous way by expressing them as programs. In order to apply
752a given transform to an image, the color management system instructs a CTL
753interpreter to load and run the CTL program that describes the transform. The
754original and the transformed image constitute the CTL program's input and
755output.")
756
757 ;; The web site says it's under a BSD-3 license, but the 'LICENSE' file
758 ;; and headers use different wording.
166191b3 759 (license (license:non-copyleft "file://LICENSE"))))
a29bfc28
LC
760
761(define-public brdf-explorer
9b91fb32
RW
762 ;; There are no release tarballs, and not even tags in the repo,
763 ;; so use the latest revision.
764 (let ((commit "5b2cd46f38a06e47207fa7229b72d37beb945019")
765 (revision "1"))
766 (package
767 (name "brdf-explorer")
768 (version (string-append "1.0.0-" revision "." (string-take commit 9)))
769 (source (origin
770 (method git-fetch)
771 (uri (git-reference
772 (url "https://github.com/wdas/brdf.git")
773 (commit commit)))
774 (sha256
775 (base32
776 "06vzbiajzbi2xl8jlff5d45bc9wd68i3jdndfab1f3jgfrd8bsgx"))
777 (file-name (string-append name "-" version "-checkout"))))
778 (build-system gnu-build-system)
779 (arguments
780 `(#:phases (modify-phases %standard-phases
781 (replace 'configure
782 (lambda* (#:key outputs #:allow-other-keys)
783 (let ((out (assoc-ref outputs "out")))
cba8ba8b
RW
784 (invoke "qmake"
785 (string-append "prefix=" out)))))
9b91fb32
RW
786 (add-after 'install 'wrap-program
787 (lambda* (#:key outputs #:allow-other-keys)
788 (let* ((out (assoc-ref outputs "out"))
789 (bin (string-append out "/bin"))
790 (data (string-append
791 out "/share/brdf")))
792 (with-directory-excursion bin
793 (rename-file "brdf" ".brdf-real")
794 (call-with-output-file "brdf"
795 (lambda (port)
796 (format port "#!/bin/sh
a29bfc28
LC
797# Run the thing from its home, otherwise it just bails out.
798cd \"~a\"
799exec -a \"$0\" ~a/.brdf-real~%"
9b91fb32 800 data bin)))
cba8ba8b
RW
801 (chmod "brdf" #o555)))
802 #t)))))
9b91fb32
RW
803 (native-inputs
804 `(("qttools" ,qttools))) ;for 'qmake'
805 (inputs
806 `(("qtbase" ,qtbase)
807 ("mesa" ,mesa)
808 ("glew" ,glew)
809 ("freeglut" ,freeglut)
810 ("zlib" ,zlib)))
811 (home-page "http://www.disneyanimation.com/technology/brdf.html")
812 (synopsis
813 "Analyze bidirectional reflectance distribution functions (BRDFs)")
814 (description
815 "BRDF Explorer is an application that allows the development and analysis
a29bfc28
LC
816of bidirectional reflectance distribution functions (BRDFs). It can load and
817plot analytic BRDF functions (coded as functions in OpenGL's GLSL shader
818language), measured material data from the MERL database, and anisotropic
819measured material data from MIT CSAIL. Graphs and visualizations update in
820real time as parameters are changed, making it a useful tool for evaluating
821and understanding different BRDFs (and other component functions).")
9b91fb32 822 (license license:ms-pl))))
87bafa07
823
824(define-public agg
825 (package
826 (name "agg")
827 (version "2.5")
828 (source (origin
829 (method url-fetch)
7db0799d
LC
830 (uri (list (string-append
831 "ftp://ftp.fau.de/gentoo/distfiles/agg-"
832 version ".tar.gz")
833 (string-append
834 "ftp://ftp.ula.ve/gentoo/distfiles/agg-"
835 version ".tar.gz")
836
837 ;; Site was discontinued.
838 (string-append "http://www.antigrain.com/agg-"
839 version ".tar.gz")))
87bafa07
840 (sha256
841 (base32 "07wii4i824vy9qsvjsgqxppgqmfdxq0xa87i5yk53fijriadq7mb"))
fc1adab1 842 (patches (search-patches "agg-am_c_prototype.patch"))))
87bafa07
843 (build-system gnu-build-system)
844 (arguments
845 '(#:configure-flags
846 (list (string-append "--x-includes=" (assoc-ref %build-inputs "libx11")
847 "/include")
848 (string-append "--x-libraries=" (assoc-ref %build-inputs "libx11")
31f45cf7
EF
849 "/lib")
850 "--disable-examples")
87bafa07 851 #:phases
dc1d3cde 852 (modify-phases %standard-phases
8d18edde 853 (replace 'bootstrap
dc1d3cde
KK
854 (lambda _
855 ;; let's call configure from configure phase and not now
856 (substitute* "autogen.sh" (("./configure") "# ./configure"))
8d18edde 857 (invoke "sh" "autogen.sh"))))))
87bafa07
858 (native-inputs
859 `(("pkg-config" ,pkg-config)
860 ("libtool" ,libtool)
861 ("autoconf" ,autoconf)
8d18edde 862 ("automake" ,automake)))
87bafa07
863 (inputs
864 `(("libx11" ,libx11)
865 ("freetype" ,freetype)
866 ("sdl" ,sdl)))
7db0799d
LC
867
868 ;; Antigrain.com was discontinued.
869 (home-page "http://agg.sourceforge.net/antigrain.com/index.html")
87bafa07
870 (synopsis "High-quality 2D graphics rendering engine for C++")
871 (description
872 "Anti-Grain Geometry is a high quality rendering engine written in C++.
873It supports sub-pixel resolutions and anti-aliasing. It is also library for
874rendering SVG graphics.")
875 (license license:gpl2+)))
f76d56d2
BW
876
877(define-public python-pastel
878 (package
879 (name "python-pastel")
880 (version "0.1.0")
881 (source
882 (origin
883 (method url-fetch)
884 (uri (pypi-uri "pastel" version))
885 (sha256
886 (base32
887 "1hqbm934n5yjwn31aq8h7shrr0rcy326wrqfc856vyn0gr0sy21i"))))
888 (build-system python-build-system)
889 (native-inputs
890 `(("python-pytest" ,python-pytest)))
891 (home-page "https://github.com/sdispater/pastel")
892 (synopsis "Library to colorize strings in your terminal")
893 (description "Pastel is a simple library to help you colorize strings in
894your terminal. It comes bundled with predefined styles:
895@enumerate
896@item info: green
897@item comment: yellow
898@item question: black on cyan
899@item error: white on red
900@end enumerate
901")
902 (license license:expat)))
903
904(define-public python2-pastel
905 (package-with-python2 python-pastel))
17153d18
MO
906
907(define-public fgallery
908 (package
909 (name "fgallery")
910 (version "1.8.2")
911 (source (origin
912 (method url-fetch)
913 (uri
914 (string-append
915 "http://www.thregr.org/~wavexx/software/fgallery/releases/"
916 "fgallery-" version ".zip"))
917 (sha256
918 (base32
919 "18wlvqbxcng8pawimbc8f2422s8fnk840hfr6946lzsxr0ijakvf"))))
920 (build-system gnu-build-system)
921 (arguments
922 `(#:tests? #f ; no tests
923 #:phases
924 (modify-phases %standard-phases
925 (delete 'configure)
926 (delete 'build)
927 (replace 'install
928 (lambda* (#:key inputs outputs #:allow-other-keys)
929 (let* ((out (assoc-ref outputs "out"))
930 (bin (string-append out "/bin/"))
931 (share (string-append out "/share/fgallery"))
932 (man (string-append out "/share/man/man1"))
933 (perl5lib (getenv "PERL5LIB"))
934 (script (string-append share "/fgallery")))
935 (define (bin-directory input-name)
936 (string-append (assoc-ref inputs input-name) "/bin"))
937
938 (mkdir-p man)
939 (copy-file "fgallery.1" (string-append man "/fgallery.1"))
940
941 (mkdir-p share)
942 (copy-recursively "." share)
943
944 ;; fgallery copies files from store when it is run. The
945 ;; read-only permissions from the store directories will cause
946 ;; fgallery to fail. Do not preserve file attributes when
947 ;; copying files to prevent it.
948 (substitute* script
949 (("'cp'")
950 "'cp', '--no-preserve=all'"))
951
952 (mkdir-p bin)
953 (symlink script (string-append out "/bin/fgallery"))
954
955 (wrap-program script
956 `("PATH" ":" prefix
957 ,(map bin-directory '("imagemagick"
958 "lcms"
959 "fbida"
960 "libjpeg"
961 "zip"
962 "jpegoptim"
963 "pngcrush"
964 "p7zip")))
965 `("PERL5LIB" ":" prefix (,perl5lib)))
966 #t))))))
967 (native-inputs
968 `(("unzip" ,unzip)))
969 ;; TODO: Add missing optional dependency: facedetect.
970 (inputs
971 `(("imagemagick" ,imagemagick)
972 ("lcms" ,lcms)
973 ("fbida" ,fbida)
974 ("libjpeg" ,libjpeg)
975 ("zip" ,zip)
976 ("perl" ,perl)
977 ("perl-cpanel-json-xs" ,perl-cpanel-json-xs)
978 ("perl-image-exiftool" ,perl-image-exiftool)
979 ("jpegoptim" ,jpegoptim)
980 ("pngcrush" ,pngcrush)
981 ("p7zip" ,p7zip)))
982 (home-page "http://www.thregr.org/~wavexx/software/fgallery/")
983 (synopsis "Static photo gallery generator")
984 (description
985 "FGallery is a static, JavaScript photo gallery generator with minimalist
986look. The result can be uploaded on any web server without additional
987requirements.")
988 (license license:gpl2+)))
13f30b54
CZ
989
990(define-public opensubdiv
991 (package
992 (name "opensubdiv")
993 (version "3_4_0")
994 (source (origin
995 (method git-fetch)
996 (uri (git-reference
997 (url "https://github.com/PixarAnimationStudios/OpenSubdiv")
998 (commit (string-append "v" version))))
999 (file-name (git-file-name name version))
1000 (sha256
1001 (base32
1002 "0cippg6aqc5dlya1cmh3908pwssrg52fwgyylnvz5343yrxmgk12"))))
1003 (build-system cmake-build-system)
1004 (arguments
1005 `(#:phases (modify-phases %standard-phases
1006 (add-before 'configure 'set-glew-location
1007 (lambda* (#:key inputs #:allow-other-keys)
1008 (setenv "GLEW_LOCATION" (assoc-ref inputs "glew"))
1009 #t))
1010 (add-before 'check 'start-xorg-server
1011 (lambda* (#:key inputs #:allow-other-keys)
1012 ;; The test suite requires a running X server.
1013 (system (string-append (assoc-ref inputs "xorg-server")
1014 "/bin/Xvfb :1 &"))
1015 (setenv "DISPLAY" ":1")
1016 #t)))))
1017 (native-inputs
1018 `(("xorg-server" ,xorg-server)))
1019 (inputs
1020 `(("glew" ,glew)
1021 ("libxrandr" ,libxrandr)
1022 ("libxcursor" ,libxcursor)
1023 ("libxinerama" ,libxinerama)
1024 ("libxi" ,libxi)
1025 ("zlib" ,zlib)
1026 ("glfw" ,glfw)))
1027 (home-page "http://graphics.pixar.com/opensubdiv/")
1028 (synopsis "High performance subdivision surface evaluation")
1029 (description "OpenSubdiv is a set of libraries that implement high
1030performance subdivision surface (subdiv) evaluation on massively parallel CPU
1031and GPU architectures.")
1032 (license license:asl2.0)))
c3c0eda6
SS
1033
1034(define-public opencsg
1035 (let ((dot-to-dash (lambda (c) (if (char=? c #\.) #\- c))))
1036 (package
1037 (name "opencsg")
1038 (version "1.4.2")
1039 (source
1040 (origin
1041 (method git-fetch)
1042 (uri (git-reference
1043 (url "https://github.com/floriankirsch/OpenCSG.git")
1044 (commit (string-append "opencsg-"
1045 (string-map dot-to-dash version)
1046 "-release"))))
1047 (file-name (git-file-name name version))
1048 (sha256
1049 (base32
1050 "00m4vs6jn3scqczscc4591l1d6zg6anqp9v1ldf9ymf70rdyvm7m"))))
1051 (build-system gnu-build-system)
1052 (arguments
1053 `(#:phases
1054 (modify-phases %standard-phases
1055 (replace 'configure
1056 (lambda* (#:key outputs #:allow-other-keys)
1057 (substitute* "src/Makefile"
1058 (("/usr/local") (assoc-ref outputs "out")))
1059 #t))
1060 (add-before 'build 'skip-example
1061 (lambda _ (chdir "src") #t)))))
1062 (inputs
1063 `(("glew" ,glew)
1064 ("freeglut" ,freeglut)))
1065 (synopsis "Library for rendering Constructive Solid Geometry (CSG)")
1066 (description
1067 "OpenCSG is a library for rendering Constructive Solid Geometry (CSG) using
1068OpenGL. CSG is an approach for modeling complex 3D-shapes using simpler ones.
1069For example, two shapes can be combined by uniting them, by intersecting them,
1070or by subtracting one shape from the other.")
1071 (home-page "http://www.opencsg.org/")
1072 (license license:gpl2))))
f36617cb
JS
1073
1074(define-public coin3D
1075 (package
1076 (name "coin3D")
1077 (version "4.0.0")
1078 (source
1079 (origin
1080 (method url-fetch)
1081 (uri (string-append
1082 "https://bitbucket.org/Coin3D/coin/downloads/coin-"
1083 version "-src.zip"))
1084 (sha256
1085 (base32
1086 "1mqwlqzvc9ydfxi0bfskwlil16mbnkphfz36p0zl2mvw6h05aqh0"))
1087 (modules '((guix build utils)))
1088 (snippet
1089 '(begin
1090 (for-each delete-file
1091 '("cfg/csubst.exe"
1092 "cfg/wrapmsvc.exe"))
1093 #t))))
1094 (build-system cmake-build-system)
1095 (native-inputs
1096 `(("doxygen" ,doxygen)
1097 ("graphviz" ,graphviz)))
1098 (inputs
1099 `(("boost" ,boost)
1100 ("freeglut" ,freeglut)
1101 ("glew" ,glew)))
1102 (arguments
1103 `(#:configure-flags
1104 (list
1105 "-DCOIN_BUILD_DOCUMENTATION_MAN=ON"
1106 (string-append "-DBOOST_ROOT="
1107 (assoc-ref %build-inputs "boost")))))
1108 (home-page "https://bitbucket.org/Coin3D/coin/wiki/Home")
1109 (synopsis
1110 "High-level 3D visualization library with Open Inventor 2.1 API")
1111 (description
1112 "Coin is a 3D graphics library with an Application Programming Interface
1113based on the Open Inventor 2.1 API. For those who are not familiar with
1114Open Inventor, it is a scene-graph based retain-mode rendering and model
1115interaction library, written in C++, which has become the de facto
1116standard graphics library for 3D visualization and visual simulation
1117software in the scientific and engineering community.")
1118 (license license:bsd-3)))