From dc1d3cdef70f0e3c047c229c2a0e561d1f47bde8 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Sat, 29 Jul 2017 11:28:42 -0400 Subject: gnu: Use 'modify-phases' syntax. * gnu/packages/admin.scm (mingetty, clusterssh, wpa-supplicant-minimal, wpa-supplicant, wakelan, acpica, tree, direvent, dstat)[arguments]: Use 'modify-phases' syntax. * gnu/packages/algebra.scm (arb)[arguments]: Likewise. * gnu/packages/apr.scm (apr-util)[arguments]: Likewise. * gnu/packages/audio.scm (clalsadrv, fluidsynth, faad2, lv2-mda-piano, lv2-mda-epiano, timidity++, vamp, soundtouch, portaudio, rsound, zita-convolver, zita-alsa-pcmi)[arguments]: Likewise. * gnu/packages/backup.scm (rdup, btar)[arguments]: Likewise. * gnu/packages/bioinformatics.scm (bedops, bwa, crossmap, express, flexbar, grit, hisat, ngs-sdk, subread)[arguments]: Likewise. * gnu/packages/bittorrent.scm (transmission)[arguments]: Likewise. * gnu/packages/cdrom.scm (cd-discid)[arguments]: Likewise. * gnu/packages/compression.scm (sharutils)[arguments]: Likewise. * gnu/packages/conky.scm (conky)[arguments]: Likewise. * gnu/packages/databases.scm (bdb, bdb-5.3)[arguments]: Likewise. * gnu/packages/debug.scm (delta, c-reduce)[arguments]: Likewise. * gnu/packages/display-managers.scm (slim)[arguments]: Likewise. * gnu/packages/dns.scm (dnsmasq)[arguments]: Likewise. * gnu/packages/emacs.scm (geiser, emacs-wget, bbdb)[arguments]: Likewise. * gnu/packages/engineering.scm (pcb)[arguments]: Likewise. * gnu/packages/firmware.scm (ath9k-htc-firmware)[arguments]: Likewise. * gnu/packages/flashing-tools.scm (flashrom)[arguments]: Likewise. * gnu/packages/fltk.scm (fltk)[arguments]: Likewise. * gnu/packages/freedesktop.scm (python-pyxdg)[arguments]: Likewise. * gnu/packages/gd.scm (perl-gd)[arguments]: Likewise. * gnu/packages/gkrellm.scm (gkrellm)[arguments]: Likewise. * gnu/packages/glib.scm (glibmm)[arguments]: Likewise. * gnu/packages/gl.scm (glew)[arguments]: Likewise. * gnu/packages/gnome.scm (icon-naming-utils, orbit2, libbonobo, gnome-vfs, libgnome, libbonoboui, goffice-0.8, dconf)[arguments]: Likewise. * gnu/packages/gprolog.scm (gprolog)[arguments]: Likewise. * gnu/packages/gps.scm (gpscorrelate)[arguments]: Likewise. * gnu/packages/graphics.scm (agg)[arguments]: Likewise. * gnu/packages/gtk.scm (ganv, girara, gtksourceview-2, guile-present, python2-pycairo)[arguments]: Likewise. * gnu/packages/guile.scm (guile-1.8)[arguments]: Likewise. * gnu/packages/guile-wm.scm (guile-wm)[arguments]: Likewise. * gnu/packages/hugs.scm (hugs)[arguments]: Likewise. * gnu/packages/hurd.scm (gnumach-headers, hurd-headers, hurd-minimal) [arguments]: Likewise. * gnu/packages/image-viewers.scm (feh, sxiv)[arguments]: Likewise. * gnu/packages/libcanberra.scm (libcanberra)[arguments]: Likewise. * gnu/packages/linux.scm (bridge-utils, iw, fuse, unionfs-fuse/static, lm-sensors, i2c-tools, xsensors, perf, mdadm, libaio, module-init-tools) [arguments]: Likewise. * gnu/packages/lisp.scm (ccl)[arguments]: Likewise. * gnu/packages/lout.scm (lout)[arguments]: Likewise. * gnu/packages/lua.scm (luajit)[arguments]: Likewise. * gnu/packages/machine-learning.scm (shogun)[arguments]: Likewise. * gnu/packages/mail.scm (exim)[arguments]: Likewise. * gnu/packages/man.scm (man-pages, txt2man)[arguments]: Likewise. * gnu/packages/maths.scm (lapack, superlu-dist, openlibm, openspecfun) [arguments]: Likewise. * gnu/packages/messaging.scm (bitlbee)[arguments]: Likewise. * gnu/packages/mp3.scm (libmad, id3lib, mp3info)[arguments]: Likewise. * gnu/packages/music.scm (solfege)[arguments]: Likewise. * gnu/packages/noweb.scm (noweb)[arguments]: Likewise. * gnu/packages/patchutils.scm (patchutils, quilt, colordiff)[arguments]: Likewise. * gnu/packages/pdf.scm (xpdf, zathura-cb, zathura-ps, zathura-djvu, zathura-pdf-poppler, zathura, podofo, fbida)[arguments]: Likewise. * gnu/packages/perl.scm (perl-file-list, perl-test-harness)[arguments]: Likewise. * gnu/packages/photo.scm (gphoto2)[arguments]: Likewise. * gnu/packages/popt.scm (popt)[arguments]: Likewise. * gnu/packages/pretty-print.scm (source-highlight, astyle)[arguments]: Likewise. * gnu/packages/pumpio.scm (pumpa)[arguments]: Likewise. * gnu/packages/python.scm (python-passlib, python-pycrypto, python2-empy, python-sqlalchemy, python-docopt)[arguments]: Likewise. * gnu/packages/rdf.scm (lrdf)[arguments]: Likewise. * gnu/packages/regex.scm (tre)[arguments]: Likewise. * gnu/packages/rrdtool.scm (rrdtool)[arguments]: Likewise. * gnu/packages/ruby.scm (ruby-2.1, ruby-1.8)[arguments]: Likewise. * gnu/packages/sawfish.scm (sawfish)[arguments]: Likewise. * gnu/packages/scheme.scm (racket)[arguments]: Likewise. * gnu/packages/sdl.scm (guile-sdl)[arguments]: Likewise. * gnu/packages/serveez.scm (serveez)[arguments]: Likewise. * gnu/packages/skribilo.scm (skribilo)[arguments]: Likewise. * gnu/packages/smalltalk.scm (smalltalk)[arguments]: Likewise. * gnu/packages/suckless.scm (dmenu, slock)[arguments]: Likewise. * gnu/packages/tcl.scm (expect)[arguments]: Likewise. * gnu/packages/telephony.scm (commoncpp)[arguments]: Likewise. * gnu/packages/textutils.scm (recode, libgtextutils)[arguments]: Likewise. * gnu/packages/time.scm (time)[arguments]: Likewise. * gnu/packages/tor.scm (privoxy)[arguments]: Likewise. * gnu/packages/uucp.scm (uucp)[arguments]: Likewise. * gnu/packages/video.scm (libdvdnav-4)[arguments]: Likewise. * gnu/packages/web-browsers.scm (lynx)[arguments]: Likewise. * gnu/packages/web.scm (tinyproxy)[arguments]: Likewise. * gnu/packages/wicd.scm (wicd)[arguments]: Likewise. * gnu/packages/wm.scm (bspwm)[arguments]: Likewise. * gnu/packages/xdisorg.scm (sxhkd, xcape)[arguments]: Likewise. * gnu/packages/xfce.scm (xfconf)[arguments]: Likewise. * gnu/packages/xfig.scm (transfig)[arguments]: Likewise. * gnu/packages/xorg.scm (imake)[arguments]: Likewise. --- gnu/packages/maths.scm | 100 ++++++++++++++++++++++++------------------------- 1 file changed, 50 insertions(+), 50 deletions(-) (limited to 'gnu/packages/maths.scm') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index f326f6af72..488c42b28d 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -456,13 +456,14 @@ large scale eigenvalue problems.") ;; Build the 'LAPACKE_clatms' functions. "-DLAPACKE_WITH_TMG=ON") - #:phases (alist-cons-before - 'check 'patch-python - (lambda* (#:key inputs #:allow-other-keys) - (let ((python (assoc-ref inputs "python"))) - (substitute* "lapack_testing.py" - (("/usr/bin/env python") python)))) - %standard-phases))) + #:phases + (modify-phases %standard-phases + (add-before 'check 'patch-python + (lambda* (#:key inputs #:allow-other-keys) + (let ((python (assoc-ref inputs "python"))) + (substitute* "lapack_testing.py" + (("/usr/bin/env python") python))) + #t))))) (synopsis "Library for numerical linear algebra") (description "LAPACK is a Fortran 90 library for solving the most commonly occurring @@ -1866,12 +1867,12 @@ void mc64ad_ (int *a, int *b, int *c, int *d, int *e, double *f, int *g, (arguments `(#:parallel-build? #f ;race conditions using ar #:phases - (alist-replace - 'configure - (lambda* (#:key inputs outputs #:allow-other-keys) - (call-with-output-file "make.inc" - (lambda (port) - (format port " + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + (call-with-output-file "make.inc" + (lambda (port) + (format port " PLAT = DSuperLUroot = ~a DSUPERLULIB = ~a/lib/libsuperlu_dist.a @@ -1894,47 +1895,46 @@ FORTRAN = mpifort FFLAGS = -O2 -g $(PIC) LOADER = $(CC) CDEFS = -DAdd_" - (getcwd) - (assoc-ref outputs "out") - (assoc-ref inputs "lapack") - (assoc-ref inputs "pt-scotch"))))) - (alist-cons-after - 'unpack 'remove-broken-symlinks - (lambda _ - (for-each delete-file - (find-files "MAKE_INC" "\\.#make\\..*"))) - (alist-cons-before - 'build 'create-install-directories - (lambda* (#:key outputs #:allow-other-keys) - (for-each - (lambda (dir) - (mkdir-p (string-append (assoc-ref outputs "out") - "/" dir))) - '("lib" "include"))) - (alist-replace - 'check + (getcwd) + (assoc-ref outputs "out") + (assoc-ref inputs "lapack") + (assoc-ref inputs "pt-scotch")))) + #t)) + (add-after 'unpack 'remove-broken-symlinks + (lambda _ + (for-each delete-file + (find-files "MAKE_INC" "\\.#make\\..*")) + #t)) + (add-before 'build 'create-install-directories + (lambda* (#:key outputs #:allow-other-keys) + (for-each + (lambda (dir) + (mkdir-p (string-append (assoc-ref outputs "out") + "/" dir))) + '("lib" "include")) + #t)) + (replace 'check (lambda _ (with-directory-excursion "EXAMPLE" (and (zero? (system* "mpirun" "-n" "2" "./pddrive" "-r" "1" "-c" "2" "g20.rua")) (zero? (system* "mpirun" "-n" "2" - "./pzdrive" "-r" "1" "-c" "2" "cg20.cua"))))) - (alist-replace - 'install - (lambda* (#:key outputs #:allow-other-keys) - ;; Library is placed in lib during the build phase. Copy over - ;; headers to include. - (let* ((out (assoc-ref outputs "out")) - (incdir (string-append out "/include"))) - (for-each (lambda (file) - (let ((base (basename file))) - (format #t "installing `~a' to `~a'~%" - base incdir) - (copy-file file - (string-append incdir "/" base)))) - (find-files "SRC" ".*\\.h$")))) - %standard-phases))))))) + "./pzdrive" "-r" "1" "-c" "2" "cg20.cua")))))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + ;; Library is placed in lib during the build phase. Copy over + ;; headers to include. + (let* ((out (assoc-ref outputs "out")) + (incdir (string-append out "/include"))) + (for-each (lambda (file) + (let ((base (basename file))) + (format #t "installing `~a' to `~a'~%" + base incdir) + (copy-file file + (string-append incdir "/" base)))) + (find-files "SRC" ".*\\.h$"))) + #t))))) (home-page (package-home-page superlu)) (synopsis "Parallel supernodal direct solver") (description @@ -2621,7 +2621,7 @@ access to BLIS implementations via traditional BLAS routine calls.") (list (string-append "prefix=" (assoc-ref %outputs "out"))) #:phases ;; no configure script - (alist-delete 'configure %standard-phases) + (modify-phases %standard-phases (delete 'configure)) #:tests? #f)) ;the tests are part of the default target (home-page "http://openlibm.org/") (synopsis "Portable C mathematical library (libm)") @@ -2660,7 +2660,7 @@ environments.") #:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out"))) ;; no configure script - #:phases (alist-delete 'configure %standard-phases))) + #:phases (modify-phases %standard-phases (delete 'configure)))) (inputs `(("fortran" ,gfortran))) (home-page "https://github.com/JuliaLang/openspecfun") -- cgit 1.4.1 From d109b1e85c5c1438e66dfc05ea4a018418edaf19 Mon Sep 17 00:00:00 2001 From: Theodoros Foradis Date: Fri, 29 Sep 2017 13:36:20 +0300 Subject: Update e-mail for Theodoros Foradis. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * .mailmap: Add entry. * gnu/packages/aspell.scm: Replace theodoros.for@openmailbox.org with current address. * gnu/packages/compression.scm: Likewise. * gnu/packages/electronics.scm: Likewise. * gnu/packages/engineering.scm: Likewise. * gnu/packages/fpga.scm: Likewise. * gnu/packages/graphviz.scm: Likewise. * gnu/packages/guile.scm: Likewise. * gnu/packages/libusb.scm: Likewise. * gnu/packages/maths.scm: Likewise. * gnu/packages/messaging.scm: Likewise. * gnu/packages/uml.scm: Likewise. * gnu/packages/wxwidgets.scm: Likewise. Signed-off-by: Ludovic Courtès --- .mailmap | 1 + gnu/packages/aspell.scm | 2 +- gnu/packages/compression.scm | 2 +- gnu/packages/electronics.scm | 2 +- gnu/packages/engineering.scm | 2 +- gnu/packages/fpga.scm | 2 +- gnu/packages/graphviz.scm | 2 +- gnu/packages/guile.scm | 2 +- gnu/packages/libusb.scm | 2 +- gnu/packages/maths.scm | 2 +- gnu/packages/messaging.scm | 2 +- gnu/packages/uml.scm | 2 +- gnu/packages/wxwidgets.scm | 2 +- 13 files changed, 13 insertions(+), 12 deletions(-) (limited to 'gnu/packages/maths.scm') diff --git a/.mailmap b/.mailmap index 8ff87ed24d..49c266bf72 100644 --- a/.mailmap +++ b/.mailmap @@ -65,6 +65,7 @@ Sou Bunnbu (宋文武) Sou Bunnbu (宋文武) Stefan Reichör Taylan Ulrich Bayırlı/Kammer +Theodoros Foradis Thomas Danckaert Tobias Geerinckx-Rice Tomáš Čech diff --git a/gnu/packages/aspell.scm b/gnu/packages/aspell.scm index 3469c7a3ec..c97d32260b 100644 --- a/gnu/packages/aspell.scm +++ b/gnu/packages/aspell.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2016 John Darrington ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2016 Christopher Andersson -;;; Copyright © 2016 Theodoros Foradis +;;; Copyright © 2016 Theodoros Foradis ;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 7eeeaf362d..b7f39a0772 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -16,7 +16,7 @@ ;;; Copyright © 2016 Marius Bakke ;;; Copyright © 2017 ng0 ;;; Copyright © 2017 Manolis Fragkiskos Ragkousis -;;; Copyright © 2017 Theodoros Foradis +;;; Copyright © 2017 Theodoros Foradis ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm index 91209376cd..60dfa509aa 100644 --- a/gnu/packages/electronics.scm +++ b/gnu/packages/electronics.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2017 Theodoros Foradis +;;; Copyright © 2017 Theodoros Foradis ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index 0356fbfe9e..bff3d96452 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2016 David Thompson ;;; Copyright © 2016, 2017 Ludovic Courtès -;;; Copyright © 2016, 2017 Theodoros Foradis +;;; Copyright © 2016, 2017 Theodoros Foradis ;;; Copyright © 2017 Julien Lepiller ;;; ;;; This file is part of GNU Guix. diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm index 2208775772..f3dc805e36 100644 --- a/gnu/packages/fpga.scm +++ b/gnu/packages/fpga.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 Danny Milosavljevic -;;; Copyright © 2016, 2017 Theodoros Foradis +;;; Copyright © 2016, 2017 Theodoros Foradis ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/packages/graphviz.scm b/gnu/packages/graphviz.scm index d47d45e527..4adbfa2890 100644 --- a/gnu/packages/graphviz.scm +++ b/gnu/packages/graphviz.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2015 Ludovic Courtès ;;; Copyright © 2015 Efraim Flashner -;;; Copyright © 2016 Theodoros Foradis +;;; Copyright © 2016 Theodoros Foradis ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 0bcc524ed7..65d252617b 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -13,7 +13,7 @@ ;;; Copyright © 2017 Andy Wingo ;;; Copyright © 2017 David Thompson ;;; Copyright © 2017 Mathieu Othacehe -;;; Copyright © 2017 Theodoros Foradis +;;; Copyright © 2017 Theodoros Foradis ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/packages/libusb.scm b/gnu/packages/libusb.scm index f1d75220a9..875d50a4ff 100644 --- a/gnu/packages/libusb.scm +++ b/gnu/packages/libusb.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2015 Andy Wingo ;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus ;;; Copyright © 2016 Efraim Flashner -;;; Copyright © 2016 Theodoros Foradis +;;; Copyright © 2016 Theodoros Foradis ;;; Copyright © 2017 Jonathan Brielmaier ;;; ;;; This file is part of GNU Guix. diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index f326f6af72..9aa037838b 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -18,7 +18,7 @@ ;;; Copyright © 2017 Paul Garlick ;;; Copyright © 2017 ng0 ;;; Copyright © 2017 Ben Woodcroft -;;; Copyright © 2017 Theodoros Foradis +;;; Copyright © 2017 Theodoros Foradis ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 8e4b43aaf4..4aa8f25fd1 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -11,7 +11,7 @@ ;;; Copyright © 2017 Mekeor Melire ;;; Copyright © 2017 Arun Isaac ;;; Copyright © 2017 Tobias Geerinckx-Rice -;;; Copyright © 2017 Theodoros Foradis +;;; Copyright © 2017 Theodoros Foradis ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/packages/uml.scm b/gnu/packages/uml.scm index 8f6e1d8a5e..d598ac04c7 100644 --- a/gnu/packages/uml.scm +++ b/gnu/packages/uml.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2016 Theodoros Foradis +;;; Copyright © 2016 Theodoros Foradis ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/packages/wxwidgets.scm b/gnu/packages/wxwidgets.scm index 30a963728a..4804e345c2 100644 --- a/gnu/packages/wxwidgets.scm +++ b/gnu/packages/wxwidgets.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer ;;; Copyright © 2016 Ricardo Wurmus -;;; Copyright © 2016 Theodoros Foradis +;;; Copyright © 2016 Theodoros Foradis ;;; Copyright © 2016 Danny Milosavljevic ;;; Copyright © 2017 Rene Saavedra ;;; Copyright © 2017 Efraim Flashner -- cgit 1.4.1 From 5ca4fe96969b5016e4e8a97131eb8b6b74f17620 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Mon, 7 Aug 2017 16:13:17 +0530 Subject: gnu: octave: Reference makeinfo with absolute path. * gnu/packages/maths.scm (octave)[arguments]: Add configure-makeinfo phase. [inputs]: Add texinfo. [native-inputs]: Remove texinfo. --- gnu/packages/maths.scm | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'gnu/packages/maths.scm') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 9aa037838b..088f47f1d6 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -19,6 +19,7 @@ ;;; Copyright © 2017 ng0 ;;; Copyright © 2017 Ben Woodcroft ;;; Copyright © 2017 Theodoros Foradis +;;; Copyright © 2017 Arun Isaac ;;; ;;; This file is part of GNU Guix. ;;; @@ -1126,7 +1127,7 @@ can solve two kinds of problems: (license license:bsd-3))) ;; For a fully featured Octave, users are strongly recommended also to install -;; the following packages: texinfo, less, ghostscript, gnuplot. +;; the following packages: less, ghostscript, gnuplot. (define-public octave (package (name "octave") @@ -1158,6 +1159,7 @@ can solve two kinds of problems: ("glu" ,glu) ("zlib" ,zlib) ("curl" ,curl) + ("texinfo" ,texinfo) ("graphicsmagick" ,graphicsmagick))) (native-inputs `(("lzip" ,lzip) @@ -1172,14 +1174,23 @@ can solve two kinds of problems: ;; will still run without them, albeit without the features they ;; provide. ("less" ,less) - ("texinfo" ,texinfo) ("ghostscript" ,ghostscript) ("gnuplot" ,gnuplot))) (arguments `(#:configure-flags (list (string-append "--with-shell=" (assoc-ref %build-inputs "bash") - "/bin/sh")))) + "/bin/sh")) + #:phases + (modify-phases %standard-phases + (add-after 'configure 'configure-makeinfo + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "libinterp/corefcn/help.cc" + (("Vmakeinfo_program = \"makeinfo\"") + (string-append "Vmakeinfo_program = \"" + (assoc-ref inputs "texinfo") + "/bin/makeinfo\""))) + #t))))) (home-page "https://www.gnu.org/software/octave/") (synopsis "High-level language for numerical computation") (description "GNU Octave is a high-level interpreted language that is -- cgit 1.4.1 From 2fd26d055ae3ab919debfd0e5deb699b8bf8c07a Mon Sep 17 00:00:00 2001 From: Thomas Danckaert Date: Wed, 4 Oct 2017 17:17:03 +0200 Subject: gnu: Add hdf-java. * gnu/packages/maths.scm (hdf-java): New variable. --- gnu/packages/maths.scm | 121 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 120 insertions(+), 1 deletion(-) (limited to 'gnu/packages/maths.scm') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 088f47f1d6..1fee91837c 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -14,7 +14,7 @@ ;;; Copyright © 2016 Kei Kebreau ;;; Copyright © 2016, 2017 Ludovic Courtès ;;; Copyright © 2016 Leo Famulari -;;; Copyright © 2016 Thomas Danckaert +;;; Copyright © 2016, 2017 Thomas Danckaert ;;; Copyright © 2017 Paul Garlick ;;; Copyright © 2017 ng0 ;;; Copyright © 2017 Ben Woodcroft @@ -70,6 +70,7 @@ #:use-module (gnu packages graphviz) #:use-module (gnu packages gtk) #:use-module (gnu packages image) + #:use-module (gnu packages java) #:use-module (gnu packages less) #:use-module (gnu packages lisp) #:use-module (gnu packages logging) @@ -743,6 +744,124 @@ extremely large and complex data collections.") (license (license:x11-style "http://www.hdfgroup.org/ftp/HDF5/current/src/unpacked/COPYING")))) +(define-public hdf-java + (package + (name "hdf-java") + (version "3.3.2") + (source + (origin + (method url-fetch) + (uri (string-append + "http://www.hdfgroup.org/ftp/HDF5/releases/HDF-JAVA/hdfjni-" + version "/src/CMake-hdfjava-" version ".tar.gz")) + (sha256 + (base32 "0m1gp2aspcblqzmpqbdpfp6giskws85ds6p5gz8sx7asyp7wznpr")) + (modules '((guix build utils))) + (snippet ; Make sure we don't use the bundled sources and binaries. + `(begin + (for-each delete-file + (list "SZip.tar.gz" "ZLib.tar.gz" "JPEG8d.tar.gz" + "HDF4.tar.gz" "HDF5.tar.gz")) + (delete-file-recursively ,(string-append "hdfjava-" version "/lib")))))) + (build-system gnu-build-system) + (native-inputs + `(("jdk" ,icedtea "jdk") + ("automake" ,automake) ; For up to date 'config.guess' and 'config.sub'. + ;; For tests: + ("hamcrest-core" ,java-hamcrest-core) + ("junit" ,java-junit) + ("slf4j-simple" ,java-slf4j-simple))) + (inputs + `(("hdf4" ,hdf4) + ("hdf5" ,hdf5) + ("zlib" ,zlib) + ("libjpeg" ,libjpeg) + ("slf4j-api" ,java-slf4j-api))) + (arguments + `(#:configure-flags + (list (string-append "--target=" ,(or (%current-target-system) (%current-system))) + (string-append "--with-jdk=" (assoc-ref %build-inputs "jdk") "/include," + (assoc-ref %build-inputs "jdk") "/lib" ) + (string-append "--with-hdf4=" (assoc-ref %build-inputs "hdf4") "/lib") + (string-append "--with-hdf5=" (assoc-ref %build-inputs "hdf5") "/lib")) + + #:make-flags + (list (string-append "HDFLIB=" (assoc-ref %build-inputs "hdf4") "/lib") + (string-append "HDF5LIB=" (assoc-ref %build-inputs "hdf5") "/lib") + (string-append "ZLIB=" (assoc-ref %build-inputs "zlib") "/lib/libz.so") + (string-append "JPEGLIB=" + (assoc-ref %build-inputs "libjpeg") "/lib/libjpeg.so") + "LLEXT=so") + + #:phases + (modify-phases %standard-phases + (add-before 'configure 'chdir-to-source + (lambda _ (chdir ,(string-append "hdfjava-" version)))) + (add-before 'configure 'patch-build + (lambda* (#:key inputs outputs #:allow-other-keys) + (substitute* "configure" + (("COPT=\"") "COPT=\"-O2 ") ; CFLAGS is ignored in Makefiles + (("/bin/cat") (which "cat"))) + ;; Set classpath for compilation + (substitute* '("hdf/hdf5lib/Makefile.in" + "hdf/hdf5lib/exceptions/Makefile.in" + "hdf/hdflib/Makefile.in") + (("\\$\\(TOP\\)/lib/slf4j-api-1\\.7\\.5\\.jar") + (string-append (assoc-ref inputs "slf4j-api") + "/share/java/slf4j-api.jar"))) + ;; Replace outdated config.sub and config.guess: + (with-directory-excursion "config" + (for-each (lambda (file) + (copy-file + (string-append (assoc-ref inputs "automake") + "/share/automake-1.15/" file) file)) + '("config.sub" "config.guess"))) + (mkdir-p (string-append (assoc-ref outputs "out"))) + ;; Set classpath for tests + (let* ((build-dir (getcwd)) + (lib (string-append build-dir "/lib")) + (jhdf (string-append lib "/jhdf.jar")) + (jhdf5 (string-append lib "/jhdf5.jar")) + (testjars + (map (lambda (i) + (string-append (assoc-ref inputs i) + "/share/java/" i ".jar")) + '("junit" "hamcrest-core" "slf4j-api" "slf4j-simple"))) + (class-path + (string-join `("." ,build-dir ,jhdf ,jhdf5 ,@testjars) ":"))) + + (substitute* '("test/hdf5lib/Makefile.in" + "test/hdf5lib/junit.sh.in" + "examples/runExample.sh.in") + (("/usr/bin/test") + (string-append (assoc-ref inputs "coreutils") + "/bin/test")) + (("/usr/bin/uname") + (string-append (assoc-ref inputs "coreutils") + "/bin/uname")) + (("CLASSPATH=[^\n]*") + (string-append "CLASSPATH=" class-path))) + (setenv "CLASSPATH" class-path)) + #t)) + (add-before 'check 'build-examples + (lambda _ + (zero? (apply system* `("javac" + ,@(find-files "examples" ".*\\.java"))))))) + + #:parallel-build? #f + + #:parallel-tests? #f )) + (home-page "https://support.hdfgroup.org/products/java") + (synopsis "Java interface for the HDF4 and HDF5 libraries") + (description "Java HDF Interface (JHI) and Java HDF5 Interface (JHI5) use +the Java Native Interface to wrap the HDF4 and HDF5 libraries, which are +implemented in C.") + + ;; BSD-style license: + (license (license:x11-style + "https://support.hdfgroup.org/ftp/HDF5/hdf-java\ +/current/src/unpacked/COPYING")))) + (define-public hdf-eos2 (package (name "hdf-eos2") -- cgit 1.4.1