(define-module (iup) #:use-module (guix packages) #:use-module (guix gexp) #:use-module (gnu packages) #:use-module ((gnu packages base) #:prefix base:) #:use-module (gnu packages algebra) #:use-module (gnu packages commencement) #:use-module (gnu packages gl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages fontutils) #:use-module (gnu packages glib) #:use-module (gnu packages gtk) #:use-module (gnu packages image) #:use-module (gnu packages lua) #:use-module (gnu packages xorg) #:use-module (guix download) #:use-module (guix build utils) #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) #:use-module ((guix licenses) #:prefix license:)) (define-public im (package (name "im") (version "3.15") (source (origin (method url-fetch) (uri (string-append "https://sourceforge.net/projects/imtoolkit/files/" version "/Docs%20and%20Sources/im-" version "_Sources.tar.gz")) (sha256 (base32 "1c5p8j7sw3r7kmkd4qa49zmh3dlp5zszp2sagi71aqjq84pngp40")))) (inputs (list base:which libpng fftw fftwf)) (build-system gnu-build-system) (arguments (list #:tests? #f #:phases #~(modify-phases %standard-phases (add-before 'configure 'set-ldflags (lambda _ (substitute* "tecmake.mak" (("STDLDFLAGS := -shared" all) (string-append all " -Wl,-rpath="#$output "/lib"))))) (delete 'configure) ;; Left lua-related libs out of the mix for the moment as they ;; have some build errors and I don't need them yet. (add-before 'build 'cd (lambda _ (chdir "src"))) (add-before 'build 'build-im (lambda _ (invoke "make" "im"))) (add-before 'build 'build-im-jp2 (lambda _ (invoke "make" "im_jp2"))) (add-before 'build 'build-im-process (lambda _ (invoke "make" "im_process"))) (add-before 'build 'build-im-process-omp (lambda _ (invoke "make" "im_process_omp"))) (add-before 'build 'build-im-fftw3 (lambda _ (invoke "make" "im_fftw3"))) (delete 'build) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let* ((include (string-append #$output "/include")) (lib (string-append #$output "/lib"))) (mkdir-p include) (mkdir-p lib) (copy-recursively "../include" include) (invoke "find" "../lib" "-exec" "cp" "{}" lib ";"))))))) (home-page "https://www.tecgraf.puc-rio.br/im") (synopsis "IM is a toolkit for image representation, storage, capture and processing") (description "The main goal of the library is to provide a simple API and abstraction of imaging for scientific applications. The most popular file formats are supported: TIFF, BMP, PNG, JPEG, GIF and AVI. Image representation includes scientific data types, and about a hundred Image Processing operations are available.") (license license:expat)))