GNU bug report logs - #66129
[PATCH 00/20] Split SuiteSparse into subpackages

Previous Next

Package: guix-patches;

Reported by: David Elsing <david.elsing <at> posteo.net>

Date: Wed, 20 Sep 2023 22:07:01 UTC

Severity: normal

Tags: patch

Done: Ludovic Courtès <ludovic.courtes <at> inria.fr>

Bug is archived. No further changes may be made.

Full log


Message #128 received at 66129 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludovic.courtes <at> inria.fr>
To: David Elsing <david.elsing <at> posteo.net>
Cc: 66129 <at> debbugs.gnu.org
Subject: Re: bug#66129: [PATCH 00/20] Split SuiteSparse into subpackages
Date: Thu, 05 Oct 2023 15:20:52 +0200
Hi David,

David Elsing <david.elsing <at> posteo.net> skribis:

> This patch series adds the individual SuiteSparse packages (as in
> Gentoo:
> https://packages.gentoo.org/packages/sci-libs/suitesparse/dependencies),
> with autogenerated files and bundled libraries removed.

Nice!

> The GraphBLAS library is not yet included, but AFAICT it is not required
> by any other package. It also makes up by far the most space of the
> suitesparse package, e.g. on x86_64-linux, libgraphblas.so.7.2.0 is 196
> MB of the 201 MB SuiteSparse package.
>
> I think it would be best to keep the full suitesparse package until all
> of its dependencies are updated and the GraphBLAS package is added, as
> replacing them all at once would make the patch series quite large.
>
> Is the use of (@@ (guix packages) computed-origin-method) ok for
> creating the individual origins or is there another alternative?

Instead of:

+(define (suitesparse-package-src name path)
+  (origin
+    (method (@@ (guix packages) computed-origin-method))
+    (file-name
+     (string-append name "-" suitesparse-version))
+    (sha256 #f)
+    (uri
+     (delay
+       (with-imported-modules '((guix build utils))
+         #~(begin
+             (use-modules (guix build utils))
+             (copy-recursively
+              (string-append #$suitesparse-src "/" #$path) #$output)))))))

I’d suggest this:

  (define (suitesparse-package-source name directory)
    (computed-file (string-append name "-" suitesparse-version ".tar.xz")
                   (with-imported-modules '((guix build utils))
                     #~(begin
                         (use-modules (guix build utils))
                         (copy-recursively
                          (string-append #$suitesparse-src "/" #$directory)
                                         #$output)))))

That way we have something simple that doesn’t rely on a private
procedure.

>   gnu: suitesparse: Tweak description.
>   gnu: Add suitesparse-config.
>   gnu: Add suitesparse-amd.
>   gnu: Add suitesparse-btf.
>   gnu: Add suitesparse-camd.
>   gnu: Add suitesparse-colamd.
>   gnu: Add suitesparse-ccolamd.
>   gnu: Add gklib.
>   gnu: Add metis-5.2.
>   gnu: Add gklib-suitesparse.
>   gnu: Add metis-suitesparse.
>   gnu: Add suitesparse-cholmod.
>   gnu: Add suitesparse-cxsparse.
>   gnu: Add suitesparse-klu.
>   gnu: Add suitesparse-ldl.
>   gnu: Add suitesparse-rbio.
>   gnu: Add suitesparse-mongoose.
>   gnu: Add suitesparse-spex.
>   gnu: Add suitesparse-spqr.
>   gnu: Add suitesparse-umfpack.

Apart from the trick above, this looks great to me!

Could you send an updated version?

Thanks,
Ludo’.




This bug report was last modified 1 year and 219 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.