aboutsummaryrefslogtreecommitdiff
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.

(define-module (gnu packages java-maths)
  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (guix packages)
  #:use-module (guix download)
  #:use-module (guix git-download)
  #:use-module (guix utils)
  #:use-module (guix build-system gnu)
  #:use-module (gnu packages)
  #:use-module (gnu packages gcc)
  #:use-module (gnu packages java)
  #:use-module (gnu packages maths)
  #:use-module (gnu packages ruby))

(define-public java-jblas
  (package
    (name "java-jblas")
    (version "1.2.4")
    (source (origin
              (method git-fetch)
              (uri (git-reference
                    (url "https://github.com/mikiobraun/jblas")
                    (commit (string-append "jblas-" version))))
              (file-name (git-file-name name version))
              (sha256
               (base32
                "0afh48hq8i8li5z11x415c8slwsfrlib0w1xjfbg186mximqvv3g"))))
    (build-system gnu-build-system)
    (arguments
     `(#:tests? #f                      ; there are none
       #:configure-flags
       (list (string-append "--libpath="
                            (assoc-ref %build-inputs "openblas")
                            "/lib")
             "--build-type=openblas")
       #:phases
       (modify-phases %standard-phases
         (add-after 'unpack 'make-writable
           (lambda _
             (map make-file-writable
                  (find-files "." ".*"))
             #t))
         (add-before 'build 'setenv-JAVA_HOME
           (lambda* (#:key inputs #:allow-other-keys)
             (setenv "JAVA_HOME" (assoc-ref inputs "jdk"))
             #t))
         (add-after 'build 'build-jar
           (lambda* (#:key inputs outputs #:allow-other-keys)
             (setenv "M2_HOME" (assoc-ref outputs "out"))
             (invoke "ant" "jar" (string-append "-Dversion=" ,version))))
         (replace 'install
           (lambda* (#:key outputs #:allow-other-keys)
             (let ((target (string-append (assoc-ref outputs "out")
                                          "/share/java")))
               (mkdir-p target)
               (install-file (string-append "jblas-" ,version ".jar") target))
             #t)))))
    (inputs
     (list openblas))
    (native-inputs
     `(("ant" ,ant)
       ("ruby" ,ruby)                   ; for configure script
       ("gfortran" ,gfortran)
       ("jdk" ,icedtea "jdk")))
    (home-page "http://jblas.org")
    (synopsis "Linear algebra for Java")
    (description
     "jblas is a fast linear algebra library for Java.  jblas is based on BLAS
and LAPACK, the de-facto industry standard for matrix computations, and uses
state-of-the-art implementations for all its computational routines, making
jBLAS very fast.")
    (license license:bsd-3)))
'msg-avail'>...* gnu/packages/coq.scm (coq-interval): Update to 3.4.1. [source]: Use GIT-FETCH and GIT-FILE-NAME. [native-inputs]: Add autoconf and automake for remake. Brett Gilio 2020-01-06gnu: coq-coquelicot: Truncate home-page....* gnu/packages/coq.scm (coq-coquelicot)[home-page]: Truncate home-page. Brett Gilio 2020-01-06gnu: coq-coquelicot: Update to 3.0.3....* gnu/packages/coq.scm (coq-coquelicot): Update to 3.0.3. [source]: Use GIT-FETCH and GIT-FILE-NAME. [native-inputs]: Add autoconf and automake. Brett Gilio 2020-01-06gnu: coq-gappa: Use HTTPS home page URI....* gnu/packages/coq.scm (coq-gappa)[home-page]: Use HTTPS URI. Brett Gilio 2020-01-06gnu: coq-gappa: Update to 1.4.2....* gnu/packages/coq.scm (coq-gappa): Update to 1.4.2. [source]: Use GIT-FETCH and GIT-FILE-NAME. [native-inputs]: Add autoconf and automake for remake, as well as campl5 for parsing. [propagated-inputs]: coq-gabba now depends on coq-flocq. [arguments]: Temporarily disable check chase until error resolution is identified. Brett Gilio 2020-01-06gnu: coq-flocq: Use HTTPS home page URI....* gnu/packages/coq.scm (coq-flocq)[home-page]: Use HTTPS URI. Brett Gilio 2020-01-06gnu: coq-flocq: Update to 3.2.0....* gnu/packages/coq.scm (coq-flocq): Update to 3.2.0. [source]: Use GIT-FETCH and GIT-FILE-NAME. [native-inputs]: Add autoconf and automake for remake. [arguments]: Add remove-failing-examples phase to work around union error. Brett Gilio 2020-01-06gnu: coq: Reword several comments....* gnu/packages/coq.scm (coq): Reword several comments to improve readability. Brett Gilio 2020-01-06gnu: coq: Update to 8.10.2....* gnu/packages/coq.scm (coq): Update to 8.10.2. [inputs]: Replace lablgtk with lablgtk3. [arguments]: Remove remove-lablgtk-references phase, as it no longer appears to be necessary. Brett Gilio 2020-01-05gnu: coq-mathcomp: Update to 1.10.0....* gnu/packages/coq.scm (coq-mathcomp): Update to 1.10.0. [arguments]: Modify comment about tests. Remove redundant setting of COQLIB environment variable. Brett Gilio 2019-12-12gnu: coq: Split coqide....* gnu/packages/coq.scm (coq)[outputs]: Add "ide" output. Julien Lepiller 2019-11-25gnu: coq-bignums: Don't use unstable tarball....* gnu/pacakges/coq.scm (coq-bignums)[source]: Download using git-fetch. Efraim Flashner 2019-10-20gnu: Remove more GCC < 7 workarounds....* gnu/packages/abiword.scm (abiword)[arguments]: Do not pass "-std=c++11" to the GCC command line. * gnu/packages/aidc.scm (zbar)[arguments]: Likewise. * gnu/packages/android.scm (android-libbase, android-libcutils, android-libziparchive, fastboot)[arguments]: Likewise. * gnu/packages/audio.scm (azr3, guitarix, suil)[arguments]: Likewise. * gnu/packages/bioinformatics.scm (bless)[arguments]: Likewise. * gnu/packages/bittorrent.scm (libtorrent-rasterbar)[arguments]: Likewise. * gnu/packages/code.scm (rtags)[arguments]: Likewise. * gnu/packages/coq.scm (coq-gappa)[arguments]: Likewise. * gnu/packages/emulators.scm (dolphin-emu)[arguments]: Likewise. * gnu/packages/engineering.scm (xyce-serial, xyce-parallel)[arguments]: Likewise. * gnu/packages/gnupg.scm (pinentry-qt)[arguments]: Likewise. * gnu/packages/gobby.scm (libnet6, obby)[arguments]: Likewise. * gnu/packages/graph.scm (python-faiss)[arguments]: Likewise. * gnu/packages/graphics.scm (povray)[arguments]: Likewise. * gnu/packages/image-processing.scm (opencv, itk-snap)[arguments]: Likewise. * gnu/packages/image.scm (freeimage)[arguments]: Likewise. * gnu/packages/kodi.scm (crossguid)[arguments]: Likewise. * gnu/packages/music.scm (amsynth, qmidiarp, qmidiroute, seq24)[arguments]: Likewise. * gnu/packages/pdf.scm (python-poppler-qt5)[arguments]: Likewise. * gnu/packages/sagemath.scm (lcalc)[arguments]: Likewise. * gnu/packages/video.scm (vlc, mlt, v4l-utils)[arguments]: Likewise. Marius Bakke