Subject: [bug#48641] Update Ipopt

From: "Eric Brown" <[email-masked]>
Date: Tue, 25 May 2021 01:03:40 -0500

Hello Guix,

This is a patch which updates Ipopt to the latest version.  Since the source tarball is not on the usual COIN-OR servers, I have adjusted so it pulls the release from the from Github repo.

(I'm not sure why Ipopt requires lapack instead of supporting also OpenBLAS.  Will investigate.)

Best regards,
Eric

From cb059fe21d9655b747e5a850d7b50bc0b7b05903 Mon Sep 17 00:00:00 2001
From: Eric Brown <[email-masked]>
Date: Tue, 25 May 2021 00:45:31 -0500
Subject: [PATCH] gnu: ipopt: Update to 3.13.4

* gnu/packages/maths.scm (ipopt): Update to 3.13.4, update URL.
---
 gnu/packages/maths.scm | 22 +++++++++-------------
 1 file changed, 9 insertions(+), 13 deletions(-)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index ee0a69bbd7..cde480e1f3 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -1749,21 +1749,16 @@ online as well as original implementations of various other algorithms.")
 (define-public ipopt
   (package
     (name "ipopt")
-    (version "3.12.12")
+    (version "3.13.4")
     (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "https://www.coin-or.org/download/source/Ipopt/Ipopt-"
-                    version".tgz"))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/coin-or/Ipopt")
+                    (commit (string-append "releases/" version))))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "07yn9rzdswjk8n246qq6ci9ssf2bcplkifcpsfz9j6cdxw9vgbkv"))
-              (modules '((guix build utils)))
-              (snippet
-               ;; Make sure we don't use the bundled software.
-               '(begin
-                  (delete-file-recursively "ThirdParty")
-                  #t))))
+                "08gznhwhqv1x4baksz350ih8q16r5rd0k8vals6078m3h94khr4b"))))
     (build-system gnu-build-system)
     (arguments
      '(#:phases (modify-phases %standard-phases
@@ -1783,7 +1778,8 @@ online as well as original implementations of various other algorithms.")
                                           after "\n")))
                         #t))))))
     (native-inputs
-     `(("gfortran" ,gfortran)))
+     `(("gfortran" ,gfortran)
+       ("pkg-config" ,pkg-config)))
     (inputs
      ;; TODO: Maybe add dependency on COIN-MUMPS, ASL, and HSL.
      `(("lapack" ,lapack)))                    ;for both libblas and liblapack
-- 
2.31.1