diff options
Diffstat (limited to 'gnu/packages/graphics.scm')
-rw-r--r-- | gnu/packages/graphics.scm | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index 55d2a198eb..c5ccfc271b 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -22,6 +22,9 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages compression) #:use-module (gnu packages multiprecision) #:use-module (gnu packages boost)) @@ -63,3 +66,89 @@ many more.") ;; The 'LICENSE' file explains that a subset is available under more ;; permissive licenses. (license license:gpl3+))) + +(define-public ilmbase + (package + (name "ilmbase") + (version "2.2.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://savannah/openexr/ilmbase-" + version ".tar.gz")) + (sha256 + (base32 + "1izddjwbh1grs8080vmaix72z469qy29wrvkphgmqmcm0sv1by7c")))) + (build-system gnu-build-system) + (home-page "http://www.openexr.com/") + (synopsis "Utility C++ libraries for threads, maths, and exceptions") + (description + "IlmBase provides several utility libraries for C++. Half is a class +that encapsulates ILM's 16-bit floating-point format. IlmThread is a thread +abstraction. Imath implements 2D and 3D vectors, 3x3 and 4x4 matrices, +quaternions and other useful 2D and 3D math functions. Iex is an +exception-handling library.") + (license license:bsd-3))) + +(define-public openexr + (package + (name "openexr") + (version "2.2.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://savannah/openexr/openexr-" + version ".tar.gz")) + (sha256 + (base32 + "0ca2j526n4wlamrxb85y2jrgcv0gf21b3a19rr0gh4rjqkv1581n")) + (modules '((guix build utils))) + (snippet + '(substitute* (find-files "." "tmpDir\\.h") + (("\"/var/tmp/\"") + "\"/tmp/\""))) + (patches (list (search-patch "openexr-missing-samples.patch"))))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (propagated-inputs + `(("ilmbase" ,ilmbase) ;used in public headers + ("zlib" ,zlib))) ;OpenEXR.pc reads "-lz" + (home-page "http://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))) + +(define-public ctl + (package + (name "ctl") + (version "1.5.2") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/ampas/CTL/archive/ctl-" + version ".tar.gz")) + (sha256 + (base32 + "1gg04pyvw0m398akn0s1l07g5b1haqv5na1wpi5dii1jjd1w3ynp")))) + (build-system cmake-build-system) + (arguments '(#:tests? #f)) ;no 'test' target + + ;; Headers include OpenEXR and IlmBase headers. + (propagated-inputs `(("openexr" ,openexr))) + + (home-page "http://ampasctl.sourceforge.net") + (synopsis "Color Transformation Language") + (description + "The Color Transformation Language, or CTL, is a small programming +language that was designed to serve as a building block for digital color +management systems. CTL allows users to describe color transforms in a +concise and unambiguous way by expressing them as programs. In order to apply +a given transform to an image, the color management system instructs a CTL +interpreter to load and run the CTL program that describes the transform. The +original and the transformed image constitute the CTL program's input and +output.") + + ;; The web site says it's under a BSD-3 license, but the 'LICENSE' file + ;; and headers use different wording. + (license (license:bsd-style "file://LICENSE")))) |