Subject: bug#40283: closed (Re: [bug#41971] [WIP PATCH 0/5] Add SageMath)

From: [email-masked] (GNU bug Tracking System)
Date: Fri, 10 Jul 2020 21:07:02 +0000

Your bug report

#40283: [WIP PATCH] gnu: flint: Build with ntl.

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
40283: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=40283
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: [bug#41971] [WIP PATCH 0/5] Add SageMath
From: Jakub Kądziołka <[email-masked]>
To: Nicolas Goaziou <[email-masked]>
Cc: [email-masked], [email-masked], [email-masked]
Date: Fri, 10 Jul 2020 23:06:40 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

On Tue, Jul 07, 2020 at 02:47:28PM +0200, Nicolas Goaziou wrote:
> Hello,
> 
> Jakub Kądziołka <[email-masked]> writes:
> 
> > This patchstack builds upon #40283 and packages (some of) SageMath.
> > Currently, sagelib is built successfully, but the `sage' binary is not
> > being installed. I'm submitting this here as I'm no longer actively
> > working on this for now. Some things remain to be done:
> 
> Thanks!
> 
> Would it make sense to add the uncontroversial fourth first patches,
> along with #40283, so it is easier to hack on the sagemath package
> itself?

Sure it would! I just did.

> I'm also Cc'ing Andreas Enge, who showed interest in packaging Sagemath
> a few months ago, and, AFAIK, was close to succeeding.

Thanks!

Regards,
Jakub Kądziołka

Subject: [WIP PATCH] gnu: flint: Build with ntl.
From: Jakub Kądziołka <[email-masked]>
To: [email-masked]
Date: Sun, 29 Mar 2020 22:32:24 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

* gnu/packages/algebra.scm (flint)[inputs]: Add ntl.
  [arguments]: Pass --with-ntl to configure.
---
This is required by sagemath, but the patch as written makes the build
error:

/gnu/store/9yzqiiyfhxi4yhndp46nndi77ica9g4i-ntl-11.4.3/include/NTL/vector.h:201:31: error: invalid conversion from ‘const NTL::Vec<NTL::ZZ>*’ to ‘int’ [-fpermissive]
  201 | { VecStrategy<NTL_RELOC_TAG>::do_BlockConstructFromVec(p, n, q); }
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~
      |                               |
      |                               const NTL::Vec<NTL::ZZ>*

Arch Linux seems to be using the same version of ntl and flint, and I
don't see any special workarounds in their PKGBUILDs. I guessed that the
gcc version might be influencing things, but adding gcc-9 to
native-inputs didn't help. Does Guix set up GCC with some non-standard
default flags, maybe?

 gnu/packages/algebra.scm | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index af50c2d775..99b69eba96 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -445,6 +445,8 @@ or text interfaces) or as a C++ library.")
                      "11syazv1a8rrnac3wj3hnyhhflpqcmq02q8pqk2m6g2k6h0gxwfb"))
             (patches (search-patches "flint-ldconfig.patch"))))
    (build-system gnu-build-system)
+   (inputs
+    `(("ntl" ,ntl)))
    (propagated-inputs
     `(("gmp" ,gmp)
       ("mpfr" ,mpfr))) ; header files from both are included by flint/arith.h
@@ -456,13 +458,15 @@ or text interfaces) or as a C++ library.")
            (lambda* (#:key inputs outputs #:allow-other-keys)
              (let ((out (assoc-ref outputs "out"))
                    (gmp (assoc-ref inputs "gmp"))
-                   (mpfr (assoc-ref inputs "mpfr")))
+                   (mpfr (assoc-ref inputs "mpfr"))
+                   (ntl (assoc-ref inputs "ntl")))
                ;; do not pass "--enable-fast-install", which makes the
                ;; homebrew configure process fail
                (invoke "./configure"
                        (string-append "--prefix=" out)
                        (string-append "--with-gmp=" gmp)
-                       (string-append "--with-mpfr=" mpfr))
+                       (string-append "--with-mpfr=" mpfr)
+                       (string-append "--with-ntl=" ntl))
                #t))))))
    (synopsis "Fast library for number theory")
    (description
-- 
2.26.0