[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] gnu: Add lpsolve.
From: |
Andreas Enge |
Subject: |
[PATCH] gnu: Add lpsolve. |
Date: |
Sat, 16 May 2015 21:10:26 +0200 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
Hello,
the attached patch adds a dependency of libreoffice with a build system
of its own. Since there is no check target, I have not tried whether the
resulting binary actually works as needed by libreoffice. We will see...
Comments are welcome.
Andreas
* gnu/packages/maths.scm (lpsolve): New variable.
---
gnu/packages/maths.scm | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 54 insertions(+)
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index f27903c..5c7fe6d 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -1338,3 +1338,57 @@ library with poor performance.")
library for graphics software based on the OpenGL Shading Language (GLSL)
specifications.")
(license license:expat)))
+
+(define-public lpsolve
+ (package
+ (name "lpsolve")
+ (version "5.5.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/lpsolve/lpsolve/" version
+ "/lp_solve_" version "_source.tar.gz"))
+ (sha256
+ (base32
+ "176c7f023mb6b8bfmv4rfqnrlw88lsg422ca74zjh19i2h5s69sq"))
+ (modules '((guix build utils)))
+ (snippet
+ '(substitute* (list "lp_solve/ccc" "lpsolve55/ccc")
+ (("^c=cc") "c=gcc")
+ ;; Pretend to be on a 64 bit platform to obtain a common directory
+ ;; name for the build results on all architectures; nothing else
+ ;; seems to depend on it.
+ (("^PLATFORM=.*$") "PLATFORM=ux64\n")))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no check target
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'build
+ (lambda _
+ (with-directory-excursion "lpsolve55"
+ (system* "bash" "ccc"))
+ (with-directory-excursion "lp_solve"
+ (system* "bash" "ccc"))
+ #t))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (lib (string-append out "/lib")))
+ (mkdir-p lib)
+ (copy-file "lpsolve55/bin/ux64/liblpsolve55.a"
+ (string-append lib "/liblpsolve55.a"))
+ (copy-file "lpsolve55/bin/ux64/liblpsolve55.so"
+ (string-append lib "/liblpsolve55.so"))
+ (mkdir-p bin)
+ (copy-file "lp_solve/bin/ux64/lp_solve"
+ (string-append bin "/lp_solve"))
+ #t))))))
+ (home-page "http://lpsolve.sourceforge.net/")
+ (synopsis "Mixed Integer Linear Programming (MILP) solver")
+ (description
+ "lp_solve is a mixed integer linear programming solver based on the
+revised simplex and the branch-and-bound methods.")
+ (license license:lgpl2.1)))
--
2.2.1
- [PATCH] gnu: Add lpsolve.,
Andreas Enge <=