unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#65227] [PATCH] gnu: libflame: Update to 70c19e7.
@ 2023-08-11 12:15 Ludovic Courtès
  2023-08-16 14:20 ` Efraim Flashner
  0 siblings, 1 reply; 3+ messages in thread
From: Ludovic Courtès @ 2023-08-11 12:15 UTC (permalink / raw)
  To: 65227
  Cc: Florent Pruvost, Ludovic Courtès, Efraim Flashner,
	Andreas Enge, Efraim Flashner, Eric Bavier

From: Ludovic Courtès <ludovic.courtes@inria.fr>

* gnu/packages/maths.scm (libflame): Update to 70c19e7.
[arguments]: Add #:make-flags.
---
 gnu/packages/maths.scm | 135 +++++++++++++++++++++--------------------
 1 file changed, 69 insertions(+), 66 deletions(-)

Hello!

This updates libflame to a current commit, which in turn allows us to use
it as a dependency of 'lapack'.

Any objections, Efraim?

Thanks,
Ludo'.

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 420f1894f3..e6e42f21cd 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -2599,78 +2599,81 @@ (define-public libfixmath
       (license license:expat))))
 
 (define-public libflame
-  (package
-    (name "libflame")
-    (version "5.2.0")
-    (outputs '("out" "static"))
-    (source
-      (origin
-        (method git-fetch)
-        (uri (git-reference
-               (url "https://github.com/flame/libflame")
-               (commit version)))
-        (file-name (git-file-name name version))
-        (sha256
-         (base32
-          "1n6lf0wvpp77lxqlr721h2jbfbzigphdp19wq8ajiccilcksh7ay"))))
-    (build-system gnu-build-system)
-    (arguments
-     (list #:configure-flags
-           ;; Sensible defaults: https://github.com/flame/libflame/issues/28
-           #~(list "--enable-dynamic-build"
-                   "--enable-max-arg-list-hack"
-                   "--enable-lapack2flame"
-                   "--enable-verbose-make-output"
-                   "--enable-multithreading=pthreads" ; Openblas isn't built with openmp.
-                   #$@(if (target-x86?)
-                          #~("--enable-vector-intrinsics=sse")
-                          #~())
-                   "--enable-supermatrix"
-                   "--enable-memory-alignment=16"
-                   "--enable-ldim-alignment")
-           #:phases
-           #~(modify-phases %standard-phases
-               (add-after 'unpack 'patch-/usr/bin/env-bash
-                 (lambda _
-                   (substitute* "build/config.mk.in"
-                     (("/usr/bin/env bash")
-                      (which "bash")))))
-               (replace 'check
-                 (lambda* (#:key tests? #:allow-other-keys)
-                   (substitute* "test/Makefile"
-                     (("LIBBLAS .*")
-                      "LIBBLAS = -lblas\n")
-                     (("LIBLAPACK .*")
-                      "LIBLAPACK = -llapack\n"))
-                   (when tests?
-                     (with-directory-excursion "test"
-                       (mkdir "obj")
-                       (invoke "make")
-                       (invoke "./test_libflame.x")))))
-               (add-after 'install 'install-static
-                 (lambda* (#:key outputs #:allow-other-keys)
-                   (let ((out (assoc-ref outputs "out"))
-                         (static (assoc-ref outputs "static")))
-                     (mkdir-p (string-append static "/lib"))
-                     (rename-file (string-append out
-                                                 "/lib/libflame.a")
-                                  (string-append static
-                                                 "/lib/libflame.a"))
-                     (install-file (string-append out
-                                                  "/include/FLAME.h")
-                                   (string-append static "/include"))))))))
-    (inputs (list gfortran))
-    (native-inputs (list lapack perl python-wrapper))
-    (home-page "https://github.com/flame/libflame")
-    (synopsis "High-performance library for @acronym{DLA, dense linear algebra} computations")
-    (description "@code{libflame} is a portable library for dense matrix
+  ;; The latest release (5.2.0) dates back to 2019.  Use a newer one, which
+  ;; among other things provides extra LAPACK symbols, such as 'dgemlq_'
+  ;; (needed by LAPACKe).
+  (let ((commit "70c19e770ead0ae846c59b59216deb16d236b40c")
+        (revision "0"))
+    (package
+      (name "libflame")
+      (version (git-version "5.2.0" revision commit))
+      (outputs '("out" "static"))
+      (home-page "https://github.com/flame/libflame")
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference (url home-page) (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "0rk8ln5p4yybsws6p60w0vkxbqp53jddv90brlgf60mk6lv51sxl"))))
+      (build-system gnu-build-system)
+      (arguments
+       (list #:configure-flags
+             ;; Sensible defaults: https://github.com/flame/libflame/issues/28
+             #~(list "--enable-dynamic-build"
+                     "--enable-max-arg-list-hack"
+                     "--enable-lapack2flame"
+                     "--enable-verbose-make-output"
+                     "--enable-multithreading=pthreads" ; Openblas isn't built with openmp.
+                     #$@(if (target-x86?)
+                            #~("--enable-vector-intrinsics=sse")
+                            #~())
+                     "--enable-supermatrix"
+                     "--enable-memory-alignment=16"
+                     "--enable-ldim-alignment")
+             #:make-flags #~(list "FC=gfortran -fPIC")
+             #:phases
+             #~(modify-phases %standard-phases
+                 (add-after 'unpack 'patch-/usr/bin/env-bash
+                   (lambda _
+                     (substitute* "build/config.mk.in"
+                       (("/usr/bin/env bash")
+                        (which "bash")))))
+                 (replace 'check
+                   (lambda* (#:key tests? #:allow-other-keys)
+                     (substitute* "test/Makefile"
+                       (("LIBBLAS .*")
+                        "LIBBLAS = -lblas\n")
+                       (("LIBLAPACK .*")
+                        "LIBLAPACK = -llapack\n"))
+                     (when tests?
+                       (with-directory-excursion "test"
+                         (mkdir "obj")
+                         (invoke "make")
+                         (invoke "./test_libflame.x")))))
+                 (add-after 'install 'install-static
+                   (lambda* (#:key outputs #:allow-other-keys)
+                     (let ((out (assoc-ref outputs "out"))
+                           (static (assoc-ref outputs "static")))
+                       (mkdir-p (string-append static "/lib"))
+                       (rename-file (string-append out
+                                                   "/lib/libflame.a")
+                                    (string-append static
+                                                   "/lib/libflame.a"))
+                       (install-file (string-append out
+                                                    "/include/FLAME.h")
+                                     (string-append static "/include"))))))))
+      (inputs (list gfortran))
+      (native-inputs (list lapack perl python-wrapper))
+      (synopsis "High-performance library for @acronym{DLA, dense linear algebra} computations")
+      (description "@code{libflame} is a portable library for dense matrix
 computations, providing much of the functionality present in LAPACK, developed
 by current and former members of the @acronym{SHPC, Science of High-Performance
 Computing} group in the @url{https://www.ices.utexas.edu/, Institute for
 Computational Engineering and Sciences} at The University of Texas at Austin.
 @code{libflame} includes a compatibility layer, @code{lapack2flame}, which
 includes a complete LAPACK implementation.")
-    (license license:bsd-3)))
+      (license license:bsd-3))))
 
 (define-public scasp
   (let ((commit "89a427aa04ec6346425a40111c99b310901ffe51")

base-commit: 56fddefc6de3b0c1f2ccb9559d86ba08d2e429b9
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [bug#65227] [PATCH] gnu: libflame: Update to 70c19e7.
  2023-08-11 12:15 [bug#65227] [PATCH] gnu: libflame: Update to 70c19e7 Ludovic Courtès
@ 2023-08-16 14:20 ` Efraim Flashner
  2023-08-17 17:09   ` bug#65227: " Ludovic Courtès
  0 siblings, 1 reply; 3+ messages in thread
From: Efraim Flashner @ 2023-08-16 14:20 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: florent.pruvost, ludovic.courtes, 65227

[-- Attachment #1: Type: text/plain, Size: 932 bytes --]

On Fri, Aug 11, 2023 at 02:15:28PM +0200, Ludovic Courtès wrote:
> From: Ludovic Courtès <ludovic.courtes@inria.fr>
> 
> * gnu/packages/maths.scm (libflame): Update to 70c19e7.
> [arguments]: Add #:make-flags.
> ---
>  gnu/packages/maths.scm | 135 +++++++++++++++++++++--------------------
>  1 file changed, 69 insertions(+), 66 deletions(-)
> 
> Hello!
> 
> This updates libflame to a current commit, which in turn allows us to use
> it as a dependency of 'lapack'.
> 
> Any objections, Efraim?
> 
> Thanks,
> Ludo'.

Some of the config.guess and config.sub files in the test suite are too
old to run on aarch64/riscv64, but that's something that we can fix. I
don't see any problems overall.

-- 
Efraim Flashner   <efraim@flashner.co.il>   רנשלפ םירפא
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#65227: [PATCH] gnu: libflame: Update to 70c19e7.
  2023-08-16 14:20 ` Efraim Flashner
@ 2023-08-17 17:09   ` Ludovic Courtès
  0 siblings, 0 replies; 3+ messages in thread
From: Ludovic Courtès @ 2023-08-17 17:09 UTC (permalink / raw)
  To: 65227-done; +Cc: Florent Pruvost, Efraim Flashner

Hello,

Efraim Flashner <efraim@flashner.co.il> skribis:

> On Fri, Aug 11, 2023 at 02:15:28PM +0200, Ludovic Courtès wrote:
>> From: Ludovic Courtès <ludovic.courtes@inria.fr>
>> 
>> * gnu/packages/maths.scm (libflame): Update to 70c19e7.
>> [arguments]: Add #:make-flags.

[...]

> Some of the config.guess and config.sub files in the test suite are too
> old to run on aarch64/riscv64, but that's something that we can fix.

Right, and it can’t be a regression.

> I don't see any problems overall.

Awesome, pushed as dcf05f2321821ca1497929630edea3ff53c4dcb0!

Thanks,
Ludo’.

PS: Your MUA sets an incorrect ‘Mail-Followup-To’ that lacks
    NNN@debbugs.gnu.org and yourself.




^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2023-08-17 17:10 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-08-11 12:15 [bug#65227] [PATCH] gnu: libflame: Update to 70c19e7 Ludovic Courtès
2023-08-16 14:20 ` Efraim Flashner
2023-08-17 17:09   ` bug#65227: " Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).