aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/maths.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/maths.scm')
-rw-r--r--gnu/packages/maths.scm59
1 files changed, 56 insertions, 3 deletions
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index a51855797f..0d11f4695e 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015, 2016, 2019 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2013, 2014, 2015, 2016, 2019, 2020 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014, 2016, 2017 John Darrington <jmd@gnu.org>
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Eric Bavier <bavier@posteo.net>
@@ -33,6 +33,7 @@
;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2019 Steve Sprang <scs@stevesprang.com>
;;; Copyright © 2019 Robert Smith <robertsmith@posteo.net>
+;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -522,6 +523,51 @@ in memory, so even problems with very large output sizes can sometimes
be solved.")
(license license:gpl2+)))
+(define-public vinci
+ (package
+ (name "vinci")
+ (version "1.0.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://www.math.u-bordeaux.fr/~aenge/software/"
+ "vinci/vinci-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1aq0qc1y27iw9grhgnyji3290wwfznsrk3sg6ynqpxwjdda53h4m"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("lrslib" ,lrslib)))
+ (arguments
+ `(#:tests? #f ; no check phase
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'configure
+ ;; register the lrs location in the config file
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let* ((lrs (assoc-ref inputs "lrslib"))
+ (lrsexec (string-append lrs "/bin/lrs")))
+ (substitute* "vinci.h"
+ (("#define LRS_EXEC \"lrs\"")
+ (string-append "#define LRS_EXEC \"" lrsexec "\""))))
+ #t))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin")))
+ (install-file "vinci" bin))
+ #t)))))
+ (home-page
+ "https://www.math.u-bordeaux.fr/~aenge/?category=software&page=vinci")
+ (synopsis "Volume computation for polytopes")
+ (description
+ "Vinci implements a number of volume computation algorithms for convex
+polytopes in arbitrary dimension. The polytopes can be given by their
+V-representation (as the convex hull of a finite number of vertices), by
+their H-representation (as the bounded intersection of a finite number of
+halfspaces) or by their double description with both representations.")
+ (license license:gpl2+)))
+
(define-public arpack-ng
(package
(name "arpack-ng")
@@ -4135,7 +4181,12 @@ as equations, scalars, vectors, and matrices.")
"0hprcdwhhyjigmhhk6514m71bnmvqci9r8gglrqilgx424r6ff7q"))))
(build-system gnu-build-system)
(arguments
- `(#:phases
+ `(#:imported-modules ((guix build python-build-system)
+ ,@%gnu-build-system-modules)
+ #:modules (((guix build python-build-system) #:select (site-packages))
+ (guix build gnu-build-system)
+ (guix build utils))
+ #:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-compatability
;; Versions after 4.8.3 have immintrin.h IFDEFed for Windows only.
@@ -4152,7 +4203,9 @@ as equations, scalars, vectors, and matrices.")
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(invoke "./configure"
- (string-append "--prefix=" (assoc-ref outputs "out")))))
+ "--python"
+ (string-append "--prefix=" (assoc-ref outputs "out"))
+ (string-append "--pypkgdir=" (site-packages inputs outputs)))))
(add-after 'configure 'change-directory
(lambda _
(chdir "build")