diff options
Diffstat (limited to 'gnu/packages/graphics.scm')
-rw-r--r-- | gnu/packages/graphics.scm | 146 |
1 files changed, 126 insertions, 20 deletions
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index 6b6cc85afe..a49310c467 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -26,6 +26,7 @@ ;;; Copyright © 2021 Antoine Côté <antoine.cote@posteo.net> ;;; Copyright © 2021 Andy Tai <atai@atai.org> ;;; Copyright © 2021 Ekaitz Zarraga <ekaitz@elenq.tech> +;;; Copyright © 2021 Vinicius Monego <monego@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -573,7 +574,7 @@ typically encountered in feature film production.") ("libxrender" ,libxrender) ("opencolorio" ,opencolorio) ("openimageio" ,openimageio) - ("openexr" ,openexr) + ("openexr" ,openexr-2) ("opensubdiv" ,opensubdiv) ("ilmbase" ,ilmbase) ("openjpeg" ,openjpeg) @@ -672,7 +673,7 @@ application can be customized via its API for Python scripting.") ("libx11" ,libx11) ("opencolorio" ,opencolorio) ("openimageio" ,openimageio) - ("openexr" ,openexr) + ("openexr" ,openexr-2) ("ilmbase" ,ilmbase) ("openjpeg" ,openjpeg) ("libjpeg" ,libjpeg-turbo) @@ -800,6 +801,28 @@ many more.") ;; permissive licenses. (license license:gpl3+))) +(define-public imath + (package + (name "imath") + (version "3.1.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/AcademySoftwareFoundation/Imath") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1nyld18mf220ghm1vidnfnn0rdns9z5i4l9s66xgd0kfdgarb31f")))) + (build-system cmake-build-system) + (home-page "https://github.com/AcademySoftwareFoundation/Imath") + (synopsis "Library of math operations for computer graphics") + (description + "Imath is a C++ representation of 2D and 3D vectors and matrices and other +mathematical objects, functions, and data types common in computer graphics +applications, including the \"half\" 16-bit floating-point type.") + (license license:bsd-3))) + (define-public ilmbase (package (name "ilmbase") @@ -1089,17 +1112,47 @@ graphics.") (define-public openexr (package (name "openexr") + (version "3.1.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/AcademySoftwareFoundation/openexr") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0vyclrrikphwkkpyjg8kzh3qzflzk3d6xsidgqllgfdgllr9wmgv")))) + (build-system cmake-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + ;; /var/tmp does not exist in the Guix build environment + (add-after 'unpack 'patch-test-directory + (lambda _ + (substitute* '("src/test/OpenEXRUtilTest/tmpDir.h" + "src/test/OpenEXRFuzzTest/tmpDir.h" + "src/test/OpenEXRTest/tmpDir.h" + "src/test/OpenEXRCoreTest/main.cpp") + (("/var/tmp") "/tmp"))))))) + (inputs + `(("imath" ,imath) + ("zlib" ,zlib))) + (home-page "https://www.openexr.com/") + (synopsis "High-dynamic-range file format library") + (description + "OpenEXR provides the specification and reference implementation of the +EXR file format. The purpose of EXR format is to accurately and efficiently +represent high-dynamic-range scene-linear image data and associated metadata, +with strong support for multi-part, multi-channel use cases.") + (license license:bsd-3))) + +(define-public openexr-2 + (package + (name "openexr") (version (package-version ilmbase)) (source (origin (inherit (package-source ilmbase)) - (file-name (git-file-name "openexr" version)) - (modules '((guix build utils))) - (snippet - '(begin - (substitute* (find-files "OpenEXR" "tmpDir\\.h") - (("\"/var/tmp/\"") - "\"/tmp/\"")) - #t)))) + (file-name (git-file-name "openexr" version)))) (build-system cmake-build-system) (arguments `(#:phases @@ -1108,6 +1161,12 @@ graphics.") (lambda _ (chdir "OpenEXR") #t)) + (add-after 'change-directory 'patch-test-directory + (lambda _ + (substitute* '("IlmImfFuzzTest/tmpDir.h" + "IlmImfTest/tmpDir.h" + "IlmImfUtilTest/tmpDir.h") + (("/var/tmp") "/tmp")))) (add-after 'change-directory 'increase-test-timeout (lambda _ ;; On armhf-linux, we need to override the CTest default @@ -1133,13 +1192,10 @@ graphics.") (propagated-inputs `(("ilmbase" ,ilmbase) ;used in public headers ("zlib" ,zlib))) ;OpenEXR.pc reads "-lz" - (home-page "https://www.openexr.com/") - (synopsis "High-dynamic range file format library") - (description - "OpenEXR is a high dynamic-range (HDR) image file format developed for -use in computer imaging applications. The IlmImf C++ libraries support -storage of the \"EXR\" file format for storing 16-bit floating-point images.") - (license license:bsd-3))) + (home-page (package-home-page openexr)) + (synopsis (package-synopsis openexr)) + (description (package-description openexr)) + (license (package-license openexr)))) (define-public openimageio (package @@ -1171,7 +1227,7 @@ storage of the \"EXR\" file format for storing 16-bit floating-point images.") ("libjpeg" ,libjpeg-turbo) ("libtiff" ,libtiff) ("giflib" ,giflib) - ("openexr" ,openexr) + ("openexr" ,openexr-2) ("ilmbase" ,ilmbase) ("pugixml" ,pugixml) ("python" ,python-wrapper) @@ -1259,6 +1315,56 @@ virtual reality, scientific visualization and modeling.") `(("libjpeg" ,libjpeg-turbo) ,@(package-inputs openscenegraph))))) +(define-public gr-framework + (package + (name "gr-framework") + (version "0.58.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sciapp/gr") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0q1rz4iyxbh0dc22y4w28ry3hr0yypdwdm6pw2zlwgjya7wkbvsw")) + (modules '((guix build utils))) + (snippet + '(begin + (delete-file-recursively "3rdparty") + #t)))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f)) ; no test target + (inputs + `(("bzip2" ,bzip2) + ("cairo" ,cairo) + ("fontconfig" ,fontconfig) + ("ffmpeg" ,ffmpeg) + ("freetype" ,freetype) + ("ghostscript" ,ghostscript) + ("glfw" ,glfw) + ("libjpeg-turbo" ,libjpeg-turbo) + ("libpng" ,libpng) + ("libtiff" ,libtiff) + ("libx11" ,libx11) + ("libxft" ,libxft) + ("libxt" ,libxt) + ("pixman" ,pixman) + ("qtbase" ,qtbase-5) + ("qhull" ,qhull) + ("zlib" ,zlib))) + (home-page "https://gr-framework.org/") + (synopsis "Graphics library for visualisation applications") + (description "GR is a universal framework for cross-platform visualization +applications. It offers developers a compact, portable and consistent graphics +library for their programs. Applications range from publication quality 2D +graphs to the representation of complex 3D scenes. GR is essentially based on +an implementation of a @acronym{GKS, Graphical Kernel System}. As a +self-contained system it can quickly and easily be integrated into existing +applications (i.e. using the @code{ctypes} mechanism in Python or @code{ccall} +in Julia).") + (license license:expat))) (define-public openmw-openscenegraph ;; OpenMW prefers its own fork of openscenegraph: @@ -1324,7 +1430,7 @@ virtual reality, scientific visualization and modeling.") ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libtiff" ,libtiff) - ("openexr" ,openexr) + ("openexr" ,openexr-2) ("sdl" ,sdl) ("zlib" ,zlib))) (arguments @@ -1445,7 +1551,7 @@ and is connected to the programming logic using data bindings and commands.") (arguments '(#:tests? #f)) ;no 'test' target ;; Headers include OpenEXR and IlmBase headers. - (propagated-inputs `(("openexr" ,openexr))) + (propagated-inputs `(("openexr" ,openexr-2))) (home-page "http://ampasctl.sourceforge.net") (synopsis "Color Transformation Language") |