gnu: pari-gp: Update to 2.5.4.
[jackhill/guix/guix.git] / gnu / packages / maths.scm
index d1effc5..7535412 100644 (file)
                 #:renamer (symbol-prefix-proc 'license:))
   #:use-module (guix packages)
   #:use-module (guix download)
-  #:use-module (guix build-system gnu))
+  #:use-module (guix build-system gnu)
+  #:use-module (gnu packages compression)
+  #:use-module ((gnu packages gettext)
+                #:renamer (symbol-prefix-proc 'gnu:))
+  #:use-module (gnu packages perl)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages readline)
+  #:use-module (gnu packages xml))
 
 (define-public units
   (package
@@ -58,3 +65,82 @@ file to suit your needs.  You can also use your own data file to supplement
 the standard data file.")
    (license license:gpl3+)
    (home-page "http://www.gnu.org/software/units/")))
+
+(define-public gsl
+  (package
+    (name "gsl")
+    (version "1.15")
+    (source
+     (origin
+      (method url-fetch)
+      (uri (string-append "mirror://gnu/gsl/gsl-"
+                          version ".tar.gz"))
+      (sha256
+       (base32
+        "18qf6jzz1r3mzb5qynywv4xx3z9g61hgkbpkdrhbgqh2g7jhgfc5"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+        (alist-replace
+         'configure
+         (lambda* (#:key target system outputs #:allow-other-keys #:rest args)
+           (let ((configure (assoc-ref %standard-phases 'configure)))
+             ;; disable numerically unstable test on i686, see thread at
+             ;; http://lists.gnu.org/archive/html/bug-gsl/2011-11/msg00019.html
+             (if (string=? (or target system) "i686-linux")
+                 (substitute* "ode-initval2/Makefile.in"
+                   (("TESTS = \\$\\(check_PROGRAMS\\)") "TESTS =")))
+             (apply configure args)))
+         %standard-phases)))
+    (home-page "http://www.gnu.org/software/gsl/")
+    (synopsis "Numerical library for C and C++")
+    (description
+     "The GNU Scientific Library (GSL) is a numerical library for C
+and C++ programmers.  It is free software under the GNU General
+Public License.
+
+The library provides a wide range of mathematical routines such
+as random number generators, special functions and least-squares
+fitting.  There are over 1000 functions in total with an
+extensive test suite.")
+    (license license:gpl3+)))
+
+(define-public pspp
+  (package
+    (name "pspp")
+    (version "0.8.0a")
+    (source
+     (origin
+      (method url-fetch)
+      (uri (string-append "mirror://gnu/pspp/pspp-"
+                          version ".tar.gz"))
+      (sha256
+       (base32
+        "1pgkb3z8b4wk4gymnafclhkrqq7n05wq83mra3v53jdl6bnllmyq"))))
+    (build-system gnu-build-system)
+    (inputs
+     `(("gettext" ,gnu:gettext)
+       ("gsl" ,gsl)
+       ("libxml2" ,libxml2)
+       ("readline" ,readline)
+       ("zlib" ,zlib)))
+    (native-inputs
+     `(("perl" ,perl)
+       ("pkg-config" ,pkg-config)))
+    (arguments
+     `(#:configure-flags
+       `("--without-cairo" ; FIXME: tests currently fail for lack of font
+         "--without-gui"))) ; FIXME: package missing dependencies
+    (home-page "http://www.gnu.org/software/pspp/")
+    (synopsis "Statistical analysis")
+    (description
+     "PSPP is a program for statistical analysis of sampled data.  It is a
+free replacement for the proprietary program SPSS, and appears very similar
+to it.
+
+PSPP can perform descriptive statistics, T-tests, anova, linear and logistic
+regression, cluster analysis, factor analysis, non-parametric tests and
+more.  Its backend is designed to perform its analyses as fast as possible,
+regardless of the size of the input data.  You can use PSPP with its
+graphical interface or the more traditional syntax commands.")
+    (license license:gpl3+)))