From c9ad276e9b4273a94b74081add8f102f7c4401a4 Mon Sep 17 00:00:00 2001 From: Ekaitz Zarraga Date: Tue, 21 Mar 2023 16:46:38 +0100 Subject: Start with IUP: IM --- iup.scm | 90 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 iup.scm diff --git a/iup.scm b/iup.scm new file mode 100644 index 0000000..ee761ba --- /dev/null +++ b/iup.scm @@ -0,0 +1,90 @@ +(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))) + -- cgit v1.2.3