unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#40283] [WIP PATCH] gnu: flint: Build with ntl.
@ 2020-03-29 20:32 Jakub Kądziołka
  2020-03-31 15:12 ` Marius Bakke
  2020-06-08 11:05 ` [bug#40283] [PATCH v2 1/3] gnu: flint: Update to 2.6.0 Jakub Kądziołka
  0 siblings, 2 replies; 6+ messages in thread
From: Jakub Kądziołka @ 2020-03-29 20:32 UTC (permalink / raw)
  To: 40283

* 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

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

* [bug#40283] [WIP PATCH] gnu: flint: Build with ntl.
  2020-03-29 20:32 [bug#40283] [WIP PATCH] gnu: flint: Build with ntl Jakub Kądziołka
@ 2020-03-31 15:12 ` Marius Bakke
  2020-04-01 13:15   ` Jakub Kądziołka
  2020-06-08 11:05 ` [bug#40283] [PATCH v2 1/3] gnu: flint: Update to 2.6.0 Jakub Kądziołka
  1 sibling, 1 reply; 6+ messages in thread
From: Marius Bakke @ 2020-03-31 15:12 UTC (permalink / raw)
  To: Jakub Kądziołka, 40283

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

Jakub Kądziołka <kuba@kadziolka.net> writes:

> * 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?

This is because of -Werror, which is not supposed to trigger on external
dependencies.  The issue has been fixed on 'core-updates' where
dependencies are added on C_INCLUDE_PATH (which behave like -isystem)
instead of CPATH (which behave like -I).

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

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

* [bug#40283] [WIP PATCH] gnu: flint: Build with ntl.
  2020-03-31 15:12 ` Marius Bakke
@ 2020-04-01 13:15   ` Jakub Kądziołka
  0 siblings, 0 replies; 6+ messages in thread
From: Jakub Kądziołka @ 2020-04-01 13:15 UTC (permalink / raw)
  To: Marius Bakke; +Cc: 40283

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

On Tue, Mar 31, 2020 at 05:12:24PM +0200, Marius Bakke wrote:
> Jakub Kądziołka <kuba@kadziolka.net> writes:
> 
> > * 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?
> 
> This is because of -Werror, which is not supposed to trigger on external
> dependencies.  The issue has been fixed on 'core-updates' where
> dependencies are added on C_INCLUDE_PATH (which behave like -isystem)
> instead of CPATH (which behave like -I).

Thanks! I had a guess it was about -Werror, but I don't think I would've
figured out the CPATH vs C_INCLUDE_PATH bit. As far as I understand,
we're relatively close to merging c-u into master, and the patch is far
from urgent, so I won't bother with trying to come up with a workaround.

Cheers,
Jakub Kądziołka

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

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

* [bug#40283] [PATCH v2 1/3] gnu: flint: Update to 2.6.0.
  2020-03-29 20:32 [bug#40283] [WIP PATCH] gnu: flint: Build with ntl Jakub Kądziołka
  2020-03-31 15:12 ` Marius Bakke
@ 2020-06-08 11:05 ` Jakub Kądziołka
  2020-06-08 11:05   ` [bug#40283] [PATCH v2 2/3] gnu: flint: Build with ntl Jakub Kądziołka
  2020-06-08 11:05   ` [bug#40283] [PATCH v2 3/3] gnu: arb: Build with flint 2.6 Jakub Kądziołka
  1 sibling, 2 replies; 6+ messages in thread
From: Jakub Kądziołka @ 2020-06-08 11:05 UTC (permalink / raw)
  To: 40283; +Cc: mbakke

* gnu/packages/algebra.scm (flint): Update to 2.6.0.
* gnu/packages/patches/flint-ldconfig.patch: Remove the patch as it got
  applied upstream.
* gnu/local.mk (dist_patch_DATA): Deregister the removed file.
---
 gnu/local.mk                              |  1 -
 gnu/packages/algebra.scm                  |  5 ++---
 gnu/packages/patches/flint-ldconfig.patch | 26 -----------------------
 3 files changed, 2 insertions(+), 30 deletions(-)
 delete mode 100644 gnu/packages/patches/flint-ldconfig.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index ae8a2275f7..27e96ea77b 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -921,7 +921,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/findutils-localstatedir.patch		\
   %D%/packages/patches/findutils-test-rwlock-threads.patch	\
   %D%/packages/patches/flann-cmake-3.11.patch			\
-  %D%/packages/patches/flint-ldconfig.patch			\
   %D%/packages/patches/foobillard++-pkg-config.patch		\
   %D%/packages/patches/foomatic-filters-CVE-2015-8327.patch	\
   %D%/packages/patches/foomatic-filters-CVE-2015-8560.patch	\
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 1008d24cd3..4559293a03 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -438,15 +438,14 @@ or text interfaces) or as a C++ library.")
 (define-public flint
   (package
    (name "flint")
-   (version "2.5.2")
+   (version "2.6.0")
    (source (origin
             (method url-fetch)
             (uri (string-append
                   "http://flintlib.org/flint-"
                   version ".tar.gz"))
             (sha256 (base32
-                     "11syazv1a8rrnac3wj3hnyhhflpqcmq02q8pqk2m6g2k6h0gxwfb"))
-            (patches (search-patches "flint-ldconfig.patch"))))
+                     "0h08a71kn8347zsqjamqnmrxjpsnnzpmhvxb6d2xmfrcs6nyv2ch"))))
    (build-system gnu-build-system)
    (propagated-inputs
     `(("gmp" ,gmp)
diff --git a/gnu/packages/patches/flint-ldconfig.patch b/gnu/packages/patches/flint-ldconfig.patch
deleted file mode 100644
index d7c66e17ab..0000000000
--- a/gnu/packages/patches/flint-ldconfig.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-Patch by Andreas Enge <andreas@enge.fr>.
-Remedy the absence of ldconfig and explicitly create an additional symbolic
-link to the flint library, as discussed privately with upstream.
-
-diff -r -u flint-2.5.2.orig/configure flint-2.5.2/configure
---- flint-2.5.2.orig/configure	2015-08-13 18:16:22.000000000 +0200
-+++ flint-2.5.2/configure	2015-08-14 17:38:14.316284437 +0200
-@@ -714,6 +714,7 @@
- echo "FLINT_SHARED=$SHARED" >> Makefile
- echo "FLINT_LIB=$FLINT_LIB" >> Makefile
- echo "FLINT_LIBNAME=$FLINT_LIBNAME" >> Makefile
-+echo "FLINT_MAJOR=$FLINT_MAJOR" >> Makefile
- echo "FLINT_SOLIB=$FLINT_SOLIB" >> Makefile
- echo "EXEEXT=$EXEEXT" >> Makefile
- echo "PREFIX=$PREFIX" >> Makefile
-diff -r -u flint-2.5.2.orig/Makefile.in flint-2.5.2/Makefile.in
---- flint-2.5.2.orig/Makefile.in	2015-08-13 18:16:22.000000000 +0200
-+++ flint-2.5.2/Makefile.in	2015-08-14 17:38:50.584774817 +0200
-@@ -118,6 +118,7 @@
- 		$(LDCONFIG) -n "$(CURDIR)"; \
- 	fi
- 	ln -sf "$(FLINT_LIB)" "$(FLINT_LIBNAME)"; \
-+	ln -sf "$(FLINT_LIB)" "$(FLINT_LIBNAME).$(FLINT_MAJOR)"; \
- 
- libflint.a: $(OBJS) $(LIB_SOURCES) $(EXT_SOURCES) $(HEADERS) $(EXT_HEADERS) | build build/interfaces
- 	$(AT)$(foreach ext, $(EXTENSIONS), $(foreach dir, $(filter-out %templates, $(patsubst $(ext)/%.h, %, $(wildcard $(ext)/*.h))), mkdir -p build/$(dir); BUILD_DIR=$(CURDIR)/build/$(dir); export BUILD_DIR; MOD_DIR=$(dir); export MOD_DIR; $(MAKE) -f $(CURDIR)/Makefile.subdirs -C $(ext)/$(dir) static || exit $$?;))
-- 
2.26.2





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

* [bug#40283] [PATCH v2 2/3] gnu: flint: Build with ntl.
  2020-06-08 11:05 ` [bug#40283] [PATCH v2 1/3] gnu: flint: Update to 2.6.0 Jakub Kądziołka
@ 2020-06-08 11:05   ` Jakub Kądziołka
  2020-06-08 11:05   ` [bug#40283] [PATCH v2 3/3] gnu: arb: Build with flint 2.6 Jakub Kądziołka
  1 sibling, 0 replies; 6+ messages in thread
From: Jakub Kądziołka @ 2020-06-08 11:05 UTC (permalink / raw)
  To: 40283; +Cc: mbakke

* gnu/packages/algebra.scm (flint)[inputs]: Add ntl.
  [arguments]: Pass --with-ntl to configure.
---
 gnu/packages/algebra.scm | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 4559293a03..6b632d3e95 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -447,6 +447,8 @@ or text interfaces) or as a C++ library.")
             (sha256 (base32
                      "0h08a71kn8347zsqjamqnmrxjpsnnzpmhvxb6d2xmfrcs6nyv2ch"))))
    (build-system gnu-build-system)
+   (inputs
+    `(("ntl" ,ntl)))
    (propagated-inputs
     `(("gmp" ,gmp)
       ("mpfr" ,mpfr))) ; header files from both are included by flint/arith.h
@@ -454,17 +456,24 @@ or text interfaces) or as a C++ library.")
     `(#:parallel-tests? #f ; seems to be necessary on arm
       #:phases
        (modify-phases %standard-phases
+         (add-before 'configure 'newer-c++
+           (lambda _
+             (substitute* "configure"
+               (("-ansi") ""))
+             #t))
          (replace 'configure
            (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.2





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

* [bug#40283] [PATCH v2 3/3] gnu: arb: Build with flint 2.6.
  2020-06-08 11:05 ` [bug#40283] [PATCH v2 1/3] gnu: flint: Update to 2.6.0 Jakub Kądziołka
  2020-06-08 11:05   ` [bug#40283] [PATCH v2 2/3] gnu: flint: Build with ntl Jakub Kądziołka
@ 2020-06-08 11:05   ` Jakub Kądziołka
  1 sibling, 0 replies; 6+ messages in thread
From: Jakub Kądziołka @ 2020-06-08 11:05 UTC (permalink / raw)
  To: 40283; +Cc: mbakke

Backport an upstream patch to fix a compatibility issue with flint 2.6.

* gnu/packages/algebra.scm (arb): Add patch.
* gnu/packages/patches/arb-flint-2.6.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register new file.
---
 gnu/local.mk                             |  1 +
 gnu/packages/algebra.scm                 |  3 +-
 gnu/packages/patches/arb-flint-2.6.patch | 48 ++++++++++++++++++++++++
 3 files changed, 51 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/arb-flint-2.6.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 27e96ea77b..3ed0a98687 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -754,6 +754,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/antlr3-3_1-fix-java8-compilation.patch	\
   %D%/packages/patches/antlr3-3_3-fix-java8-compilation.patch	\
   %D%/packages/patches/apr-skip-getservbyname-test.patch	\
+  %D%/packages/patches/arb-flint-2.6.patch			\
   %D%/packages/patches/aspell-default-dict-dir.patch		\
   %D%/packages/patches/ath9k-htc-firmware-binutils.patch	\
   %D%/packages/patches/ath9k-htc-firmware-gcc.patch		\
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 6b632d3e95..aceaee52f9 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -502,7 +502,8 @@ fast arithmetic.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "05lpy3hkl5f8ik19aw40cqydrb932xaf2n8hbq9ib5dnk7f010p1"))))
+                "05lpy3hkl5f8ik19aw40cqydrb932xaf2n8hbq9ib5dnk7f010p1"))
+              (patches (search-patches "arb-flint-2.6.patch"))))
     (build-system gnu-build-system)
     (propagated-inputs
      `(("flint" ,flint)))               ; flint.h is included by arf.h
diff --git a/gnu/packages/patches/arb-flint-2.6.patch b/gnu/packages/patches/arb-flint-2.6.patch
new file mode 100644
index 0000000000..98ff5e95b4
--- /dev/null
+++ b/gnu/packages/patches/arb-flint-2.6.patch
@@ -0,0 +1,48 @@
+From d3d9983231e0f034e86a1e75761627eb8213b704 Mon Sep 17 00:00:00 2001
+From: fredrik <fredrik.johansson@gmail.com>
+Date: Wed, 29 Apr 2020 13:41:36 +0200
+Subject: [PATCH] handle flint incompatibilities
+
+---
+ fmpr.h        | 4 ++++
+ fmpz_extras.h | 4 ++++
+ 2 files changed, 8 insertions(+)
+
+diff --git a/fmpr.h b/fmpr.h
+index 2204d72e..c6a8c342 100644
+--- a/fmpr.h
++++ b/fmpr.h
+@@ -22,7 +22,11 @@
+ #include "flint/flint.h"
+ #include "flint/fmpz.h"
+ #include "flint/fmpq.h"
++#if __FLINT_RELEASE < 20600
+ #include "flint/config.h"
++#else
++#include "flint/flint-config.h"
++#endif
+ #include "fmpz_extras.h"
+ 
+ #ifndef flint_abort
+diff --git a/fmpz_extras.h b/fmpz_extras.h
+index 4fd0538f..486e28c8 100644
+--- a/fmpz_extras.h
++++ b/fmpz_extras.h
+@@ -43,6 +43,8 @@ fmpz_add_inline(fmpz_t z, const fmpz_t x, const fmpz_t y)
+         fmpz_add(z, x, y);
+ }
+ 
++#if __FLINT_RELEASE < 20600
++
+ static __inline__ void
+ fmpz_add_si(fmpz_t z, const fmpz_t x, slong y)
+ {
+@@ -61,6 +63,8 @@ fmpz_sub_si(fmpz_t z, const fmpz_t x, slong y)
+         fmpz_add_ui(z, x, -y);
+ }
+ 
++#endif
++
+ static __inline__ void
+ fmpz_add_si_inline(fmpz_t z, const fmpz_t x, slong y)
+ {
-- 
2.26.2





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

end of thread, other threads:[~2020-06-08 11:07 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-29 20:32 [bug#40283] [WIP PATCH] gnu: flint: Build with ntl Jakub Kądziołka
2020-03-31 15:12 ` Marius Bakke
2020-04-01 13:15   ` Jakub Kądziołka
2020-06-08 11:05 ` [bug#40283] [PATCH v2 1/3] gnu: flint: Update to 2.6.0 Jakub Kądziołka
2020-06-08 11:05   ` [bug#40283] [PATCH v2 2/3] gnu: flint: Build with ntl Jakub Kądziołka
2020-06-08 11:05   ` [bug#40283] [PATCH v2 3/3] gnu: arb: Build with flint 2.6 Jakub Kądziołka

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).