diff options
author | Steve Sprang <scs@stevesprang.com> | 2019-08-23 15:38:42 -0700 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2019-09-11 00:09:39 +0200 |
commit | c3c0eda646f749d8603fbdacb281fd14112b1139 (patch) | |
tree | 24b305bdc62a0f7a75beb0c8aebd1b05a2f50dbf | |
parent | 984cabc4a66cd6b58354887530d136e92bd8a172 (diff) | |
download | guix-c3c0eda646f749d8603fbdacb281fd14112b1139.tar guix-c3c0eda646f749d8603fbdacb281fd14112b1139.tar.gz |
gnu: Add opencsg.
* gnu/packages/graphics.scm (opencsg): New variable.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r-- | gnu/packages/graphics.scm | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index b06a369325..988b519ffa 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -13,6 +13,7 @@ ;;; Copyright © 2018 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2019 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2019 Carlo Zancanaro <carlo@zancanaro.id.au> +;;; Copyright © 2019 Steve Sprang <scs@stevesprang.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1018,3 +1019,43 @@ requirements.") performance subdivision surface (subdiv) evaluation on massively parallel CPU and GPU architectures.") (license license:asl2.0))) + +(define-public opencsg + (let ((dot-to-dash (lambda (c) (if (char=? c #\.) #\- c)))) + (package + (name "opencsg") + (version "1.4.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/floriankirsch/OpenCSG.git") + (commit (string-append "opencsg-" + (string-map dot-to-dash version) + "-release")))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "00m4vs6jn3scqczscc4591l1d6zg6anqp9v1ldf9ymf70rdyvm7m")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "src/Makefile" + (("/usr/local") (assoc-ref outputs "out"))) + #t)) + (add-before 'build 'skip-example + (lambda _ (chdir "src") #t))))) + (inputs + `(("glew" ,glew) + ("freeglut" ,freeglut))) + (synopsis "Library for rendering Constructive Solid Geometry (CSG)") + (description + "OpenCSG is a library for rendering Constructive Solid Geometry (CSG) using +OpenGL. CSG is an approach for modeling complex 3D-shapes using simpler ones. +For example, two shapes can be combined by uniting them, by intersecting them, +or by subtracting one shape from the other.") + (home-page "http://www.opencsg.org/") + (license license:gpl2)))) |