diff options
author | Ludovic Courtès <ludo@gnu.org> | 2016-06-03 14:34:32 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2016-06-03 14:37:26 +0200 |
commit | ad1c453731d5b320fbd94c6486bf0bc96a4e7e7a (patch) | |
tree | d054dee27aa639dff4c67725ede83998db870d30 /gnu | |
parent | f9940ef1e81d3f1f397157787598e7b02691f698 (diff) | |
download | gnu-guix-ad1c453731d5b320fbd94c6486bf0bc96a4e7e7a.tar gnu-guix-ad1c453731d5b320fbd94c6486bf0bc96a4e7e7a.tar.gz |
gnu: ipopt: Use libblas from LAPACK, and fix 'Libs' in 'ipopt.pc'.
* gnu/packages/maths.scm (ipopt)[inputs]: Remove OPENBLAS.
[arguments]: New field.
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/packages/maths.scm | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 4498ea0308..3b860a957f 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -599,12 +599,28 @@ online as well as original implementations of various other algorithms.") ;; Make sure we don't use the bundled software. '(delete-file-recursively "ThirdParty")))) (build-system gnu-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (add-after 'install 'add--L-flags-in-ipopt.pc + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; The '.pc' file lists '-llapack -lblas' in "Libs"; + ;; move it to "Libs.private" where it belongs, and add a + ;; '-L' flag for LAPACK. + (let ((out (assoc-ref outputs "out")) + (lapack (assoc-ref inputs "lapack"))) + (substitute* (string-append out "/lib/pkgconfig/" + "ipopt.pc") + (("Libs: (.*)-llapack -lblas(.*)$" _ before after) + (string-append "Libs: " before " " after "\n" + "Libs.private: " before + "-L" lapack "/lib -llapack -lblas " + after "\n"))) + #t)))))) (native-inputs `(("gfortran" ,gfortran))) (inputs ;; TODO: Maybe add dependency on COIN-MUMPS, ASL, and HSL. - `(("blas" ,openblas) - ("lapack" ,lapack))) + `(("lapack" ,lapack))) ;for both libblas and liblapack (home-page "http://www.coin-or.org") (synopsis "Large-scale nonlinear optimizer") (description |