gnu: blis: Update to 0.9.0.

* gnu/packages/maths.scm (blis): Update to 0.9.0.
[arguments]: Use G-expression; remove trailing #T from build phases.
This commit is contained in:
Ricardo Wurmus 2023-06-07 21:51:07 +02:00
parent 0836c0769d
commit 28d5ec153c
No known key found for this signature in database
GPG key ID: 197A5888235FACAC

View file

@ -4681,90 +4681,85 @@ (define-public libblastrampoline
(define-public blis (define-public blis
(package (package
(name "blis") (name "blis")
(version "0.8.1") (version "0.9.0")
(home-page "https://github.com/flame/blis") (home-page "https://github.com/flame/blis")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (url home-page) (commit version))) (uri (git-reference (url home-page) (commit version)))
(sha256 (sha256
(base32 (base32
"05ifil6jj9424sr8kmircl8k4bmxnl3y12a79vwj1kxxva5gz50g")) "14v2awhxma6nzas42hq97702672f2njrskqhsv9kl23hvrvci8fm"))
(file-name (git-file-name "blis" version)))) (file-name (git-file-name "blis" version))))
(native-inputs (native-inputs
(list python perl)) (list python perl))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:modules (list
((guix build gnu-build-system) #:modules
'((guix build gnu-build-system)
(guix build utils) (guix build utils)
(srfi srfi-1)) (srfi srfi-1))
#:test-target "test" #:test-target "test"
#:phases #:phases
(modify-phases %standard-phases #~(modify-phases %standard-phases
(replace 'configure (replace 'configure
(lambda* (#:key outputs (lambda* (#:key outputs target system (configure-flags '())
target #:allow-other-keys)
system ;; This is a home-made 'configure' script.
(configure-flags '()) (let* (;; Guix-specific support for choosing the configuration
#:allow-other-keys)
;; This is a home-made 'configure' script.
(let* ((out (assoc-ref outputs "out"))
;; Guix-specific support for choosing the configuration
;; via #:configure-flags: see below for details. ;; via #:configure-flags: see below for details.
(config-flag-prefix "--blis-config=") (config-flag-prefix "--blis-config=")
(maybe-config-flag (find (maybe-config-flag (find
(lambda (s) (lambda (s)
(string-prefix? config-flag-prefix s)) (string-prefix? config-flag-prefix s))
configure-flags))
(configure-flags (if maybe-config-flag
(delete maybe-config-flag
configure-flags)
configure-flags)) configure-flags))
;; Select the "configuration" to build. (configure-flags (if maybe-config-flag
;; The "generic" configuration is non-optimized but (delete maybe-config-flag
;; portable (no assembly). configure-flags)
;; The "x86_64" configuration family includes configure-flags))
;; sub-configurations for all supported ;; Select the "configuration" to build.
;; x86_64 microarchitectures. ;; The "generic" configuration is non-optimized but
;; BLIS currently lacks runtime hardware detection ;; portable (no assembly).
;; for other architectures: see ;; The "x86_64" configuration family includes
;; <https://github.com/flame/blis/commit/c534da6>. ;; sub-configurations for all supported
;; Conservatively, we stick to "generic" on armhf, ;; x86_64 microarchitectures.
;; aarch64, and ppc64le for now. (But perhaps ;; BLIS currently lacks runtime hardware detection
;; "power9", "cortexa9", and "cortexa57" might be ;; for other architectures: see
;; general enough to use?) ;; <https://github.com/flame/blis/commit/c534da6>.
;; Another approach would be to use the "auto" ;; Conservatively, we stick to "generic" on armhf,
;; configuration and make this package ;; aarch64, and ppc64le for now. (But perhaps
;; non-substitutable. ;; "power9", "cortexa9", and "cortexa57" might be
;; The build is fairly intensive, though. ;; general enough to use?)
(blis-config ;; Another approach would be to use the "auto"
(cond ;; configuration and make this package
(maybe-config-flag ;; non-substitutable.
(substring maybe-config-flag ;; The build is fairly intensive, though.
(string-length config-flag-prefix))) (blis-config
((string-prefix? "x86_64" (or target system)) (cond
"x86_64") (maybe-config-flag
(else (substring maybe-config-flag
"generic"))) (string-length config-flag-prefix)))
(configure-args ((string-prefix? "x86_64" (or target system))
`("-p" ,out "x86_64")
"-d" "opt" (else
"--disable-static" "generic")))
"--enable-shared" (configure-args
"--enable-threading=openmp" `("-p" ,#$output
"--enable-verbose-make" "-d" "opt"
,@configure-flags "--disable-static"
,blis-config))) "--enable-shared"
(format #t "configure args: ~s~%" configure-args) "--enable-threading=openmp"
(apply invoke "--enable-verbose-make"
"./configure" ,@configure-flags
configure-args) ,blis-config)))
#t))) (format #t "configure args: ~s~%" configure-args)
(add-before 'check 'show-test-output (apply invoke
(lambda _ "./configure"
;; By default "make check" is silent. Make it verbose. configure-args))))
(system "tail -F output.testsuite &") (add-before 'check 'show-test-output
#t))))) (lambda _
;; By default "make check" is silent. Make it verbose.
(system "tail -F output.testsuite &"))))))
(synopsis "High-performance basic linear algebra (BLAS) routines") (synopsis "High-performance basic linear algebra (BLAS) routines")
(description (description
"BLIS is a portable software framework for instantiating high-performance "BLIS is a portable software framework for instantiating high-performance