Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] More math libraries and tools
@ 2021-04-06  3:35 tornaria
  2021-04-06  3:53 ` abenson
                   ` (69 more replies)
  0 siblings, 70 replies; 71+ messages in thread
From: tornaria @ 2021-04-06  3:35 UTC (permalink / raw)
  To: ml

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

There is a new pull request by tornaria against master on the void-packages repository

https://github.com/tornaria/void-packages math2
https://github.com/void-linux/void-packages/pull/30032

More math libraries and tools
<!-- Mark items with [x] where applicable -->

#### General
- [x] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me

#### Notes
- This continues #29997.
- includes `eclib`, `flintqs`, `lcalc`, `mpfi`
- `eclib` depends on `ntl` and `flintlib`, the other 3 are independent.
- Everything is tested and check pass in x86_64, x86_64-musl, i686.
- The long files in `srcpkgs/lcalc/files` are just tests. The 3 versions are almost the same except for a few minor rounding differences.

A patch file from https://github.com/void-linux/void-packages/pull/30032.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-math2-30032.patch --]
[-- Type: text/x-diff, Size: 154539 bytes --]

From cd34ac325286b1aa7423f4b65e98651fbfa0a23b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 9 Jan 2018 23:00:22 -0300
Subject: [PATCH 01/11] New package: givaro-4.1.1

---
 common/options.description |  1 +
 common/shlibs              |  1 +
 srcpkgs/givaro-devel       |  1 +
 srcpkgs/givaro/template    | 38 ++++++++++++++++++++++++++++++++++++++
 4 files changed, 41 insertions(+)
 create mode 120000 srcpkgs/givaro-devel
 create mode 100644 srcpkgs/givaro/template

diff --git a/common/options.description b/common/options.description
index 06360211a23f..40f5074e63cf 100644
--- a/common/options.description
+++ b/common/options.description
@@ -49,6 +49,7 @@ desc_option_lz4="Enable support for LZ4 compression format"
 desc_option_lzo="Enable support for LZO compression format"
 desc_option_microhttpd="Enable support for microhttpd"
 desc_option_mpcdec="Enable support for the Musepack decoder"
+desc_option_native="Enable instruction subsets supported by the build computer"
 desc_option_notify="Enable support for desktop notifications (libnotify)"
 desc_option_nvenc="Enable support for NVENC codecs"
 desc_option_openblas="Enable support for OpenBLAS accelerated linear algebra"
diff --git a/common/shlibs b/common/shlibs
index 9aa0a601250b..02175ed0b76a 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3956,6 +3956,7 @@ libopenaptx.so.0 libopenaptx-0.2.0_1
 libsimavr.so.1 simavr-1.6_2
 libsimavrparts.so.1 simavr-1.6_2
 libsword-1.8.1.so libsword-1.8.1_6
+libgivaro.so.9 givaro-4.1.1_1
 libpari-gmp.so.7 pari-2.13.0_1
 libtree-sitter.so.0 tree-sitter-0.19.0_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/givaro-devel b/srcpkgs/givaro-devel
new file mode 120000
index 000000000000..587339b2c069
--- /dev/null
+++ b/srcpkgs/givaro-devel
@@ -0,0 +1 @@
+givaro
\ No newline at end of file
diff --git a/srcpkgs/givaro/template b/srcpkgs/givaro/template
new file mode 100644
index 000000000000..7e36c656c5ef
--- /dev/null
+++ b/srcpkgs/givaro/template
@@ -0,0 +1,38 @@
+# Template file for 'givaro'
+pkgname=givaro
+version=4.1.1
+revision=1
+build_style="gnu-configure"
+makedepends="gmpxx-devel"
+short_desc="C++ library for arithmetic and algebraic computations"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="CECILL-B"
+homepage="https://github.com/linbox-team/givaro"
+distfiles="${homepage}/releases/download/v${version}/givaro-${version}.tar.gz"
+checksum=628049899386e91da245aee6cd446350fbca87e94863bc0d815066c08150487f
+nocross=yes
+
+build_options="native"
+
+if [ ! "$build_option_native" ]; then
+	configure_args="--enable-sse --enable-sse2
+	  --disable-sse3 --disable-ssse3 --disable-sse41 --disable-sse42
+	  --disable-avx --disable-avx2 --disable-fma --disable-fma4"
+fi
+
+post_install() {
+	vlicense "Licence_CeCILL-B_V1-en.txt"
+}
+
+givaro-devel_package() {
+	depends="givaro-${version}_${revision}"
+	depends+=" gmpxx-devel"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove "usr/include"
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+		vmove "usr/lib/pkgconfig"
+		vmove "usr/bin"
+	}
+}

From 3115b4391783db54695859a8057c2ce40c0edc1c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 9 Jan 2018 23:39:59 -0300
Subject: [PATCH 02/11] New package: fflas-ffpack-2.4.3

---
 srcpkgs/fflas-ffpack/template | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)
 create mode 100644 srcpkgs/fflas-ffpack/template

diff --git a/srcpkgs/fflas-ffpack/template b/srcpkgs/fflas-ffpack/template
new file mode 100644
index 000000000000..ff2410ea0e90
--- /dev/null
+++ b/srcpkgs/fflas-ffpack/template
@@ -0,0 +1,25 @@
+# Template file for 'fflas-ffpack'
+pkgname=fflas-ffpack
+version=2.4.3
+revision=1
+wrksrc="fflas_ffpack-${version}"
+build_style="gnu-configure"
+hostmakedepends="pkg-config"
+makedepends="givaro-devel openblas-devel"
+depends="givaro-devel openblas-devel"
+short_desc="Finite Field Linear Algebra Subroutines / Package"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="LGPL-2.1-or-later"
+homepage="http://linbox-team.github.io/fflas-ffpack/"
+distfiles="https://github.com/linbox-team/fflas-ffpack/releases/download/v${version}/fflas_ffpack-${version}.tar.bz2"
+checksum=d4ecfc6289c7077185ed5e58fa77d07fdb034c1a74385366566226a4887c50c3
+nocross=yes
+
+build_options="native"
+
+if [ ! "$build_option_native" ]; then
+	configure_args="--enable-sse --enable-sse2
+	  --disable-sse3 --disable-ssse3 --disable-sse41 --disable-sse42
+	  --disable-avx --disable-avx2 --disable-fma --disable-fma4
+	  --disable-avx512f --disable-avx512dq --disable-avx512vl"
+fi

From 89e7c4404b669acf47fc0a1ca1912d799999e0b2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 10 Jan 2018 00:14:35 -0300
Subject: [PATCH 03/11] New package: linbox-1.6.3

---
 common/shlibs           |  1 +
 srcpkgs/linbox-devel    |  1 +
 srcpkgs/linbox/template | 46 +++++++++++++++++++++++++++++++++++++++++
 3 files changed, 48 insertions(+)
 create mode 120000 srcpkgs/linbox-devel
 create mode 100644 srcpkgs/linbox/template

diff --git a/common/shlibs b/common/shlibs
index 02175ed0b76a..559cbd305c71 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3957,6 +3957,7 @@ libsimavr.so.1 simavr-1.6_2
 libsimavrparts.so.1 simavr-1.6_2
 libsword-1.8.1.so libsword-1.8.1_6
 libgivaro.so.9 givaro-4.1.1_1
+liblinbox.so.0 linbox-1.6.3_1
 libpari-gmp.so.7 pari-2.13.0_1
 libtree-sitter.so.0 tree-sitter-0.19.0_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/linbox-devel b/srcpkgs/linbox-devel
new file mode 120000
index 000000000000..4b90ac79c1e7
--- /dev/null
+++ b/srcpkgs/linbox-devel
@@ -0,0 +1 @@
+linbox
\ No newline at end of file
diff --git a/srcpkgs/linbox/template b/srcpkgs/linbox/template
new file mode 100644
index 000000000000..fd582a435276
--- /dev/null
+++ b/srcpkgs/linbox/template
@@ -0,0 +1,46 @@
+# Template file for 'linbox'
+pkgname=linbox
+version=1.6.3
+revision=1
+build_style="gnu-configure"
+hostmakedepends="pkg-config"
+makedepends="fflas-ffpack"
+short_desc="C++ library for exact, high-performance linear algebra"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="LGPL-2.1-or-later"
+homepage="https://linalg.org"
+distfiles="https://github.com/linbox-team/linbox/releases/download/v${version}/linbox-${version}.tar.gz"
+checksum=a58a188307b07c57964e844bceb99321d3043a8a4a1fccc082a54928bb9a0057
+nocross=yes
+
+build_options="native"
+
+if [ ! "$build_option_native" ]; then
+	configure_args="--enable-sse --enable-sse2
+	  --disable-sse3 --disable-ssse3 --disable-sse41 --disable-sse42
+	  --disable-avx --disable-avx2 --disable-fma --disable-fma4"
+fi
+
+pre_check() {
+	if [ "$XBPS_TARGET_MACHINE" = "i686" ]; then
+		# skip test that doesn't compile on i686
+		# see https://github.com/linbox-team/linbox/issues/273
+		touch tests/test-qlup.o
+		echo 'exit 77' > tests/test-qlup
+		chmod +x tests/test-qlup
+	fi
+}
+
+linbox-devel_package() {
+	depends="linbox-${version}_${revision}"
+	depends+=" fflas-ffpack"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove "usr/include"
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+		vmove "usr/lib/pkgconfig"
+		vmove "usr/bin"
+		vmove "usr/share"
+	}
+}

From 9fda871e3705ce10e770775c6b0d9a5c07bcbfd0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 29 Jan 2018 11:18:35 -0300
Subject: [PATCH 04/11] New package: gf2x-1.3.0

---
 common/shlibs         |  1 +
 srcpkgs/gf2x-devel    |  1 +
 srcpkgs/gf2x/template | 34 ++++++++++++++++++++++++++++++++++
 srcpkgs/gf2x/update   |  1 +
 4 files changed, 37 insertions(+)
 create mode 120000 srcpkgs/gf2x-devel
 create mode 100644 srcpkgs/gf2x/template
 create mode 100644 srcpkgs/gf2x/update

diff --git a/common/shlibs b/common/shlibs
index 559cbd305c71..0add3b90fced 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3956,6 +3956,7 @@ libopenaptx.so.0 libopenaptx-0.2.0_1
 libsimavr.so.1 simavr-1.6_2
 libsimavrparts.so.1 simavr-1.6_2
 libsword-1.8.1.so libsword-1.8.1_6
+libgf2x.so.3 gf2x-1.3.0_1
 libgivaro.so.9 givaro-4.1.1_1
 liblinbox.so.0 linbox-1.6.3_1
 libpari-gmp.so.7 pari-2.13.0_1
diff --git a/srcpkgs/gf2x-devel b/srcpkgs/gf2x-devel
new file mode 120000
index 000000000000..4542295e8de7
--- /dev/null
+++ b/srcpkgs/gf2x-devel
@@ -0,0 +1 @@
+gf2x
\ No newline at end of file
diff --git a/srcpkgs/gf2x/template b/srcpkgs/gf2x/template
new file mode 100644
index 000000000000..41580840c6fa
--- /dev/null
+++ b/srcpkgs/gf2x/template
@@ -0,0 +1,34 @@
+# Template file for 'gf2x'
+pkgname=gf2x
+version=1.3.0
+revision=1
+wrksrc=gf2x-gf2x-${version}
+build_style="gnu-configure"
+hostmakedepends="automake libtool"
+short_desc="C/C++ library for fast arithmetic in GF(2)[x]"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="GPL-3.0-or-later"
+homepage="https://gitlab.inria.fr/gf2x/gf2x"
+distfiles="${homepage}/-/archive/gf2x-${version}/gf2x-gf2x-${version}.tar.gz"
+checksum=11bcf98b620c60c2ee3b4460b02b7be741f14cfdc26b542f22c92950926575e0
+
+build_options="native"
+
+if [ ! "$build_option_native" ]; then
+	configure_args="--disable-sse3"
+fi
+
+pre_configure() {
+	autoreconf -fi
+}
+
+gf2x-devel_package() {
+	depends="gf2x-${version}_${revision}"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove "usr/include"
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+		vmove "usr/lib/pkgconfig"
+	}
+}
diff --git a/srcpkgs/gf2x/update b/srcpkgs/gf2x/update
new file mode 100644
index 000000000000..504503610161
--- /dev/null
+++ b/srcpkgs/gf2x/update
@@ -0,0 +1 @@
+pkgname=gf2x-gf2x

From 0f6e6ba9a071073154a11e22878c66a6b4e43d35 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 30 Jan 2018 11:02:38 -0300
Subject: [PATCH 05/11] New package: ntl-11.4.4

---
 common/shlibs        |  1 +
 srcpkgs/ntl-devel    |  1 +
 srcpkgs/ntl/template | 36 ++++++++++++++++++++++++++++++++++++
 srcpkgs/ntl/update   |  1 +
 4 files changed, 39 insertions(+)
 create mode 120000 srcpkgs/ntl-devel
 create mode 100644 srcpkgs/ntl/template
 create mode 100644 srcpkgs/ntl/update

diff --git a/common/shlibs b/common/shlibs
index 0add3b90fced..f9f1ee9e845f 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3959,6 +3959,7 @@ libsword-1.8.1.so libsword-1.8.1_6
 libgf2x.so.3 gf2x-1.3.0_1
 libgivaro.so.9 givaro-4.1.1_1
 liblinbox.so.0 linbox-1.6.3_1
+libntl.so.43 ntl-11.4.4_1
 libpari-gmp.so.7 pari-2.13.0_1
 libtree-sitter.so.0 tree-sitter-0.19.0_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/ntl-devel b/srcpkgs/ntl-devel
new file mode 120000
index 000000000000..fc0a39987329
--- /dev/null
+++ b/srcpkgs/ntl-devel
@@ -0,0 +1 @@
+ntl
\ No newline at end of file
diff --git a/srcpkgs/ntl/template b/srcpkgs/ntl/template
new file mode 100644
index 000000000000..68d7b090586c
--- /dev/null
+++ b/srcpkgs/ntl/template
@@ -0,0 +1,36 @@
+# Template file for 'ntl'
+pkgname=ntl
+version=11.4.4
+revision=1
+build_wrksrc="src"
+build_style="configure"
+hostmakedepends="perl"
+makedepends="gmp-devel gf2x-devel"
+short_desc="Library for doing Number Theory"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="LGPL-2.1-or-later"
+homepage="https://libntl.org"
+distfiles="${homepage}/${pkgname}-${version}.tar.gz"
+checksum=9d7f6e82e11a409f151c0de2deb08c0d763baf9834fddfd432bf3d218f8021db
+nocross=yes
+
+build_options="native"
+
+do_configure() {
+	# see http://www.shoup.net/ntl/doc/tour-unix.html
+	./configure CXX="$CXX" CXXFLAGS="$CXXFLAGS" \
+		PREFIX="/usr" SHARED="on" NTL_GF2X_LIB="on" \
+		NATIVE="$(vopt_if native 'on' 'off')"
+}
+
+ntl-devel_package() {
+	depends="ntl-${version}_${revision}"
+	depends+=" gmp-devel gf2x-devel"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove "usr/include"
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+		vmove "usr/share"
+	}
+}
diff --git a/srcpkgs/ntl/update b/srcpkgs/ntl/update
new file mode 100644
index 000000000000..8ccb86344234
--- /dev/null
+++ b/srcpkgs/ntl/update
@@ -0,0 +1 @@
+site="${homepage}/download.html"

From aa5edb0a974a7b902770fd1338f297ed9d81bca5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Fri, 2 Feb 2018 22:42:49 -0300
Subject: [PATCH 06/11] New package: flintlib-2.7.1

---
 common/shlibs             |  1 +
 srcpkgs/flintlib-devel    |  1 +
 srcpkgs/flintlib/template | 30 ++++++++++++++++++++++++++++++
 srcpkgs/flintlib/update   |  2 ++
 4 files changed, 34 insertions(+)
 create mode 120000 srcpkgs/flintlib-devel
 create mode 100644 srcpkgs/flintlib/template
 create mode 100644 srcpkgs/flintlib/update

diff --git a/common/shlibs b/common/shlibs
index f9f1ee9e845f..d488757ccc72 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3956,6 +3956,7 @@ libopenaptx.so.0 libopenaptx-0.2.0_1
 libsimavr.so.1 simavr-1.6_2
 libsimavrparts.so.1 simavr-1.6_2
 libsword-1.8.1.so libsword-1.8.1_6
+libflint.so.15 flintlib-2.7.1_1
 libgf2x.so.3 gf2x-1.3.0_1
 libgivaro.so.9 givaro-4.1.1_1
 liblinbox.so.0 linbox-1.6.3_1
diff --git a/srcpkgs/flintlib-devel b/srcpkgs/flintlib-devel
new file mode 120000
index 000000000000..7c2633183069
--- /dev/null
+++ b/srcpkgs/flintlib-devel
@@ -0,0 +1 @@
+flintlib
\ No newline at end of file
diff --git a/srcpkgs/flintlib/template b/srcpkgs/flintlib/template
new file mode 100644
index 000000000000..c96312598923
--- /dev/null
+++ b/srcpkgs/flintlib/template
@@ -0,0 +1,30 @@
+# Template file for 'flintlib'
+pkgname=flintlib
+version=2.7.1
+revision=1
+wrksrc="flint-${version}"
+build_style="configure"
+configure_args="--prefix=/usr --with-gmp=/usr --with-mpfr=/usr --with-ntl=/usr"
+makedepends="mpfr-devel ntl-devel"
+short_desc="Fast Library for Number Theory"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="LGPL-2.1-or-later"
+homepage="https://flintlib.org"
+distfiles="${homepage}/flint-${version}.tar.gz"
+checksum=186e2fd9ab67df8a05b122fb018269b382e4babcdb17353c4be1fe364dca481e
+nocross=yes
+
+if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
+	CFLAGS="-D_GNU_SOURCE"
+fi
+
+flintlib-devel_package() {
+	depends="flintlib-${version}_${revision}"
+	depends+=" mpfr-devel"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove "usr/include"
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+	}
+}
diff --git a/srcpkgs/flintlib/update b/srcpkgs/flintlib/update
new file mode 100644
index 000000000000..8eee53cf22f2
--- /dev/null
+++ b/srcpkgs/flintlib/update
@@ -0,0 +1,2 @@
+pkgname=flint
+site="${homepage}/downloads.html"

From 1c2d7c6f21b097d1d3adf6dbfb87212bf80c1e13 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 4 Feb 2018 01:00:19 -0300
Subject: [PATCH 07/11] New package: arb-2.19.0

---
 common/shlibs        |  1 +
 srcpkgs/arb-devel    |  1 +
 srcpkgs/arb/template | 29 +++++++++++++++++++++++++++++
 3 files changed, 31 insertions(+)
 create mode 120000 srcpkgs/arb-devel
 create mode 100644 srcpkgs/arb/template

diff --git a/common/shlibs b/common/shlibs
index d488757ccc72..116d6f7462e0 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3956,6 +3956,7 @@ libopenaptx.so.0 libopenaptx-0.2.0_1
 libsimavr.so.1 simavr-1.6_2
 libsimavrparts.so.1 simavr-1.6_2
 libsword-1.8.1.so libsword-1.8.1_6
+libarb.so.2 arb-2.19.0_1
 libflint.so.15 flintlib-2.7.1_1
 libgf2x.so.3 gf2x-1.3.0_1
 libgivaro.so.9 givaro-4.1.1_1
diff --git a/srcpkgs/arb-devel b/srcpkgs/arb-devel
new file mode 120000
index 000000000000..456b9f00a86c
--- /dev/null
+++ b/srcpkgs/arb-devel
@@ -0,0 +1 @@
+arb
\ No newline at end of file
diff --git a/srcpkgs/arb/template b/srcpkgs/arb/template
new file mode 100644
index 000000000000..7c7df0aace15
--- /dev/null
+++ b/srcpkgs/arb/template
@@ -0,0 +1,29 @@
+# Template file for 'arb'
+pkgname=arb
+version=2.19.0
+revision=1
+build_style="configure"
+configure_args="--prefix=/usr --with-gmp=/usr --with-mpfr=/usr --with-flint=/usr"
+makedepends="flintlib-devel"
+short_desc="C library for arbitrary-precision interval arithmetic"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="LGPL-2.1-or-later"
+homepage="https://arblib.org"
+distfiles="https://github.com/fredrik-johansson/arb/archive/${version}.tar.gz"
+checksum=0aec6b492b6e9a543bdb3287a91f976951e2ba74fd4de942e692e21f7edbcf13
+nocross=yes
+
+if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
+	CFLAGS="-D_GNU_SOURCE"
+fi
+
+arb-devel_package() {
+	depends="arb-${version}_${revision}"
+	depends+=" flintlib-devel"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove "usr/include"
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+	}
+}

From a6fe930e654adb22688e729e3748be63d50d99eb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 Jun 2020 14:50:01 -0300
Subject: [PATCH 08/11] New package: eclib-20210318

---
 common/shlibs                             |  1 +
 srcpkgs/eclib-devel                       |  1 +
 srcpkgs/eclib/patches/set_precision.patch | 34 +++++++++++++++++++++++
 srcpkgs/eclib/template                    | 30 ++++++++++++++++++++
 4 files changed, 66 insertions(+)
 create mode 120000 srcpkgs/eclib-devel
 create mode 100644 srcpkgs/eclib/patches/set_precision.patch
 create mode 100644 srcpkgs/eclib/template

diff --git a/common/shlibs b/common/shlibs
index 116d6f7462e0..647ed636ebe1 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3957,6 +3957,7 @@ libsimavr.so.1 simavr-1.6_2
 libsimavrparts.so.1 simavr-1.6_2
 libsword-1.8.1.so libsword-1.8.1_6
 libarb.so.2 arb-2.19.0_1
+libec.so.7 eclib-20210318_1
 libflint.so.15 flintlib-2.7.1_1
 libgf2x.so.3 gf2x-1.3.0_1
 libgivaro.so.9 givaro-4.1.1_1
diff --git a/srcpkgs/eclib-devel b/srcpkgs/eclib-devel
new file mode 120000
index 000000000000..d29e610e9249
--- /dev/null
+++ b/srcpkgs/eclib-devel
@@ -0,0 +1 @@
+eclib
\ No newline at end of file
diff --git a/srcpkgs/eclib/patches/set_precision.patch b/srcpkgs/eclib/patches/set_precision.patch
new file mode 100644
index 000000000000..d1b6072ff399
--- /dev/null
+++ b/srcpkgs/eclib/patches/set_precision.patch
@@ -0,0 +1,34 @@
+This changes 0.3 by 0.3L, otherwise tests fail in i686 due to different rounding.
+
+See: https://github.com/JohnCremona/eclib/issues/68
+
+--- libsrc/eclib/interface.h    2021-03-18 12:22:52.000000000 -0300
++++ libsrc/eclib/interface.h    2021-04-05 15:15:52.355310137 -0300
+@@ -240,7 +240,7 @@
+ 
+ // Set internal precision to n bits and output precision to (0.3*n)-1 decimal places
+ inline void set_precision(long n)
+-{RR::SetPrecision(n); RR::SetOutputPrecision(long(0.3*n)-1);}
++{RR::SetPrecision(n); RR::SetOutputPrecision(long(0.3L*n)-1);}
+ 
+ // Mostly for backward compatibility (used in saturate.cc) or for
+ // temporarily changing internal precision when no output is relevant:
+@@ -252,7 +252,7 @@
+   {long n; cerr<<prompt<<": "; cin>>n; set_precision(n);}
+ 
+ // read current precision converted to decimal (approximately)
+-inline long decimal_precision() {return long(RR::precision()*0.3);}
++inline long decimal_precision() {return long(RR::precision()*0.3L);}
+ 
+ // read current bit precision
+ inline long bit_precision() {return RR::precision();}
+@@ -289,7 +289,7 @@
+ inline int is_approx_zero(double x) {return fabs(x)<1e-10;}
+ 
+ // We cannot set internal bit precision in this mode, so we just set the output decimal precision
+-inline void set_precision(long n) {cout.precision(min(15,long(0.3*n)));}
++inline void set_precision(long n) {cout.precision(min(15,long(0.3L*n)));}
+ inline void set_precision(const string prompt)  {cout.precision(15);}
+ #define Pi()    3.1415926535897932384626433832795028841
+ #define Euler() (0.57721566490153286060651209008240243104)
+
diff --git a/srcpkgs/eclib/template b/srcpkgs/eclib/template
new file mode 100644
index 000000000000..4f99c356714b
--- /dev/null
+++ b/srcpkgs/eclib/template
@@ -0,0 +1,30 @@
+# Template file for 'eclib'
+pkgname=eclib
+version=20210318
+revision=1
+build_style=gnu-configure
+configure_args="--with-flint --with-boost"
+hostmakedepends="automake autoconf-archive libtool"
+makedepends="pari-devel ntl-devel flintlib-devel boost-devel"
+short_desc="Elliptic curve library, includes mwrank"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="GPL-2.0-or-later"
+homepage="https://github.com/JohnCremona/eclib/"
+distfiles="${homepage}/archive/refs/tags/${version}.tar.gz"
+checksum=8ca611e818cc3acdd54c800be66f66219a52603516bff048d350dd1e95605484
+
+pre_configure() {
+	./autogen.sh
+}
+
+eclib-devel_package() {
+	depends="eclib-${version}_${revision}"
+	depends+=" ntl-devel"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove "usr/include"
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+		vmove "usr/lib/pkgconfig"
+	}
+}

From bcfe485b4800ae4ab6bc765a19867cdc768dae80 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 Jun 2020 22:51:44 -0300
Subject: [PATCH 09/11] New package: flintqs-1.0

---
 srcpkgs/flintqs/template | 41 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)
 create mode 100644 srcpkgs/flintqs/template

diff --git a/srcpkgs/flintqs/template b/srcpkgs/flintqs/template
new file mode 100644
index 000000000000..7156083e6ed8
--- /dev/null
+++ b/srcpkgs/flintqs/template
@@ -0,0 +1,41 @@
+# Template file for 'flintqs'
+pkgname=flintqs
+version=1.0
+revision=1
+wrksrc="FlintQS-${version}"
+build_style="gnu-configure"
+hostmakedepends="automake"
+makedepends="gmp-devel"
+checkdepends="bc"
+short_desc="Multi-polynomial quadratic sieve for integer factorization"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="GPL-2.0-or-later"
+homepage="https://github.com/sagemath/FlintQS"
+distfiles="${homepage}/archive/v${version}.tar.gz"
+checksum=b983052f267988192c9ec59c9d2754470e5f2db74b45e364cf7ad62f349bc9eb
+
+pre_configure() {
+	touch ChangeLog
+	autoreconf -fi
+}
+
+_check_factor() {
+	echo -n "Factor $1 ... "
+	factors=$(echo "$1" | src/QuadraticSieve | awk 'x{print}/FACTORS:/{x=1}' | sort -u)
+	echo -n $factors | sed -e 's/ / * /'
+	prod=$(echo $factors | sed -e 's/ /*/' | bc)
+	if [ "$prod" == "$1" ] ; then
+		echo " - OK"
+		return 0
+	else
+		echo " - FAIL"
+		return 1
+	fi
+}
+
+do_check() {
+	# check that it can factor
+	_check_factor 7115311179635024735652627015068546182713648318529
+	_check_factor 55100662978045942257527719411373552579109062399339
+	_check_factor 179926028483627295233062780598576300117675953698228811539221
+}

From 1b18f92ef8bebc404d0e2a6f5b8484f8b3b6a58f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 1 Feb 2018 16:32:51 -0300
Subject: [PATCH 10/11] New package: lcalc-1.23

---
 srcpkgs/lcalc-devel                           |    1 +
 srcpkgs/lcalc/files/test                      |   14 +
 srcpkgs/lcalc/files/test.i686                 | 2102 +++++++++++++++++
 srcpkgs/lcalc/files/test.musl                 | 2102 +++++++++++++++++
 srcpkgs/lcalc/files/test.out                  | 2102 +++++++++++++++++
 srcpkgs/lcalc/patches/Lcommon.h.patch         |   11 +
 .../lcalc-1.23_default_parameters_1.patch     |   24 +
 .../lcalc-1.23_default_parameters_2.patch     |   56 +
 .../patches/lcalc-1.23_fix-const-char.patch   |   53 +
 .../lcalc-1.23_fix-return-non-void.patch      |   20 +
 srcpkgs/lcalc/patches/pari-2.7.patch          |   67 +
 srcpkgs/lcalc/patches/pari-mem.patch          |   24 +
 srcpkgs/lcalc/patches/pari_include.patch      |   30 +
 .../lcalc/patches/using_namespace_std.patch   |   41 +
 srcpkgs/lcalc/template                        |   44 +
 srcpkgs/lcalc/update                          |    2 +
 16 files changed, 6693 insertions(+)
 create mode 120000 srcpkgs/lcalc-devel
 create mode 100644 srcpkgs/lcalc/files/test
 create mode 100644 srcpkgs/lcalc/files/test.i686
 create mode 100644 srcpkgs/lcalc/files/test.musl
 create mode 100644 srcpkgs/lcalc/files/test.out
 create mode 100644 srcpkgs/lcalc/patches/Lcommon.h.patch
 create mode 100644 srcpkgs/lcalc/patches/lcalc-1.23_default_parameters_1.patch
 create mode 100644 srcpkgs/lcalc/patches/lcalc-1.23_default_parameters_2.patch
 create mode 100644 srcpkgs/lcalc/patches/lcalc-1.23_fix-const-char.patch
 create mode 100644 srcpkgs/lcalc/patches/lcalc-1.23_fix-return-non-void.patch
 create mode 100644 srcpkgs/lcalc/patches/pari-2.7.patch
 create mode 100644 srcpkgs/lcalc/patches/pari-mem.patch
 create mode 100644 srcpkgs/lcalc/patches/pari_include.patch
 create mode 100644 srcpkgs/lcalc/patches/using_namespace_std.patch
 create mode 100644 srcpkgs/lcalc/template
 create mode 100644 srcpkgs/lcalc/update

diff --git a/srcpkgs/lcalc-devel b/srcpkgs/lcalc-devel
new file mode 120000
index 000000000000..ec3437a2fb19
--- /dev/null
+++ b/srcpkgs/lcalc-devel
@@ -0,0 +1 @@
+lcalc
\ No newline at end of file
diff --git a/srcpkgs/lcalc/files/test b/srcpkgs/lcalc/files/test
new file mode 100644
index 000000000000..cbac6d8b324d
--- /dev/null
+++ b/srcpkgs/lcalc/files/test
@@ -0,0 +1,14 @@
+echo "### First 1000 zeros of zeta function"
+./lcalc -z 1000
+echo
+echo "### Analytic rank of elliptic curve 5077a1"
+./lcalc -e --a1=0 --a2=0 --a3=1 --a4=-7 --a6=6 -r
+echo
+echo "### run example program"
+LD_LIBRARY_PATH=. example_programs/example
+echo
+echo "### test data files: zeros of data_mass"
+./lcalc -F example_data_files/data_maass -z 20
+echo
+echo "### test data files: zeros of data_tau"
+./lcalc -F example_data_files/data_tau -z 1000
diff --git a/srcpkgs/lcalc/files/test.i686 b/srcpkgs/lcalc/files/test.i686
new file mode 100644
index 000000000000..08872e4cc25f
--- /dev/null
+++ b/srcpkgs/lcalc/files/test.i686
@@ -0,0 +1,2102 @@
+### First 1000 zeros of zeta function
+ 14.13472514173
+ 21.02203963877
+ 25.01085758015
+ 30.42487612586
+ 32.93506158774
+ 37.58617815883
+ 40.91871901215
+ 43.32707328091
+ 48.00515088117
+ 49.77383247767
+ 52.97032147771
+ 56.44624769706
+ 59.3470440026
+ 60.83177852461
+ 65.11254404808
+ 67.07981052949
+ 69.54640171117
+ 72.06715767448
+ 75.70469069908
+ 77.14484006887
+ 79.33737502025
+ 82.91038085409
+ 84.73549298052
+ 87.42527461313
+ 88.80911120763
+ 92.49189927056
+ 94.65134404052
+ 95.87063422825
+ 98.831194218194
+ 101.31785100573
+ 103.72553804048
+ 105.44662305233
+ 107.16861118428
+ 111.02953554317
+ 111.87465917699
+ 114.32022091545
+ 116.22668032086
+ 118.79078286598
+ 121.37012500242
+ 122.94682929355
+ 124.25681855435
+ 127.5166838796
+ 129.57870419996
+ 131.08768853093
+ 133.497737203
+ 134.75650975337
+ 138.11604205453
+ 139.73620895212
+ 141.12370740402
+ 143.11184580762
+ 146.00098248677
+ 147.42276534256
+ 150.05352042078
+ 150.92525761224
+ 153.0246938112
+ 156.11290929424
+ 157.59759181759
+ 158.84998817142
+ 161.1889641376
+ 163.03070968718
+ 165.5370691879
+ 167.1844399782
+ 169.0945154156
+ 169.9119764794
+ 173.4115365196
+ 174.7541915234
+ 176.4414342977
+ 178.3774077761
+ 179.9164840203
+ 182.2070784844
+ 184.8744678484
+ 185.5987836777
+ 187.2289225835
+ 189.416158656
+ 192.0266563607
+ 193.0797266038
+ 195.2653966795
+ 196.876481841
+ 198.0153096763
+ 201.2647519437
+ 202.4935945141
+ 204.1896718031
+ 205.3946972022
+ 207.9062588878
+ 209.5765097169
+ 211.6908625954
+ 213.3479193597
+ 214.5470447835
+ 216.1695385083
+ 219.067596349
+ 220.7149188393
+ 221.4307055547
+ 224.0070002546
+ 224.9833246696
+ 227.4214442797
+ 229.3374133055
+ 231.2501887005
+ 231.9872352532
+ 233.6934041789
+ 236.5242296658
+ 237.7698204809
+ 239.5554775733
+ 241.0491577962
+ 242.8232719342
+ 244.0708984971
+ 247.1369900749
+ 248.1019900601
+ 249.5736896447
+ 251.014947795
+ 253.069986748
+ 255.3062564549
+ 256.3807136944
+ 258.6104394915
+ 259.8744069897
+ 260.8050845046
+ 263.5738939049
+ 265.5578518389
+ 266.6149737815
+ 267.9219150828
+ 269.970449024
+ 271.4940556416
+ 273.4596091884
+ 275.5874926493
+ 276.4520495031
+ 278.2507435298
+ 279.2292509277
+ 282.4651147651
+ 283.2111857332
+ 284.8359639809
+ 286.667445363
+ 287.9119205014
+ 289.5798549292
+ 291.8462913291
+ 293.5584341394
+ 294.9653696193
+ 295.573254879
+ 297.9792770619
+ 299.8403260537
+ 301.6493254622
+ 302.6967495896
+ 304.8643713409
+ 305.728912602
+ 307.2194961282
+ 310.1094631467
+ 311.1651415304
+ 312.4278011806
+ 313.9852857312
+ 315.4756160895
+ 317.7348059424
+ 318.8531042563
+ 321.1601343091
+ 322.1445586725
+ 323.4669695575
+ 324.8628660517
+ 327.4439012619
+ 329.0330716805
+ 329.9532397282
+ 331.4744675827
+ 333.6453785249
+ 334.2113548332
+ 336.8418504284
+ 338.3399928508
+ 339.8582167254
+ 341.042261111
+ 342.0548775104
+ 344.6617029403
+ 346.347870566
+ 347.2726775844
+ 349.3162608707
+ 350.4084193492
+ 351.8786490254
+ 353.4889004887
+ 356.0175749773
+ 357.151302252
+ 357.9526851016
+ 359.7437549531
+ 361.2893616958
+ 363.331330579
+ 364.7360241141
+ 366.2127102883
+ 367.9935754817
+ 368.9684380957
+ 370.0509192121
+ 373.0619283721
+ 373.8648739109
+ 375.8259127667
+ 376.3240922307
+ 378.43668025
+ 379.8729753465
+ 381.4844686172
+ 383.4435294495
+ 384.9561168149
+ 385.861300846
+ 387.2228902224
+ 388.8461283542
+ 391.4560835636
+ 392.2450833395
+ 393.4277438444
+ 395.582870011
+ 396.3818542226
+ 397.9187362096
+ 399.9851198762
+ 401.8392286005
+ 402.8619177639
+ 404.2364418002
+ 405.1343874599
+ 407.5814603869
+ 408.9472455024
+ 410.5138691934
+ 411.9722678043
+ 413.2627360702
+ 415.0188097552
+ 415.4552149963
+ 418.3877057895
+ 419.8613648182
+ 420.643827625
+ 422.0767100588
+ 423.7165796275
+ 425.0698824945
+ 427.2088250841
+ 428.1279140766
+ 430.3287454309
+ 431.3013069307
+ 432.1386417346
+ 433.8892184809
+ 436.1610064326
+ 437.5816981677
+ 438.6217386563
+ 439.9184422144
+ 441.6831992012
+ 442.9045463026
+ 444.3193362776
+ 446.8606226964
+ 447.4417041945
+ 449.148545685
+ 450.1269457803
+ 451.4033084454
+ 453.9867378067
+ 454.9746837686
+ 456.3284266892
+ 457.9038930641
+ 459.5134152811
+ 460.0879444222
+ 462.0653672749
+ 464.0572869105
+ 465.6715392114
+ 466.5702869308
+ 467.4390462103
+ 469.5360045591
+ 470.7736554781
+ 472.7991746619
+ 473.8352323451
+ 475.6003393694
+ 476.7690152375
+ 478.0752637667
+ 478.9421815346
+ 481.8303393763
+ 482.834782791
+ 483.8514272125
+ 485.5391481294
+ 486.5287182617
+ 488.38056709
+ 489.661761578
+ 491.3988215937
+ 493.3144415818
+ 493.9579978054
+ 495.3588288221
+ 496.4296962158
+ 498.5807824297
+ 500.3090849417
+ 501.6044469651
+ 502.2762703271
+ 504.4997733134
+ 505.4152317422
+ 506.4641527095
+ 508.8007003365
+ 510.2642279437
+ 511.5622897004
+ 512.6231445314
+ 513.6689855555
+ 515.4350571673
+ 517.5896685725
+ 518.2342231476
+ 520.1063104117
+ 521.5251934495
+ 522.4566961777
+ 523.960530892
+ 525.0773856873
+ 527.9036416013
+ 528.4062138523
+ 529.8062263187
+ 530.866917884
+ 532.6881830283
+ 533.7796307538
+ 535.6643140759
+ 537.0697590831
+ 538.4285261762
+ 540.2131663762
+ 540.6313902473
+ 541.8474371212
+ 544.323890101
+ 545.6368332489
+ 547.0109120581
+ 547.9316133645
+ 549.4975675627
+ 550.9700100395
+ 552.0495722006
+ 553.7649721192
+ 555.7920205617
+ 556.8994764069
+ 557.5646591721
+ 559.3162370287
+ 560.2408074973
+ 562.559207616
+ 564.1608791108
+ 564.5060559381
+ 566.6987876828
+ 567.7317579012
+ 568.9239551796
+ 570.0511147825
+ 572.4199841325
+ 573.6146105268
+ 575.0938860145
+ 575.8072471409
+ 577.0390034721
+ 579.098834672
+ 580.1369593624
+ 581.9465762659
+ 583.2360882192
+ 584.5617059035
+ 585.984563205
+ 586.7427718913
+ 588.1396632662
+ 590.6603975168
+ 591.725858065
+ 592.5713583002
+ 593.9747146822
+ 595.7281536974
+ 596.3627683284
+ 598.4930773462
+ 599.5456403644
+ 601.6021367359
+ 602.5791678864
+ 603.6256189036
+ 604.6162184938
+ 606.3834604221
+ 608.4132173112
+ 609.3895751547
+ 610.8391629377
+ 611.7742096209
+ 613.5997786756
+ 614.6462378722
+ 615.5385633694
+ 618.1128313664
+ 619.184482598
+ 620.2728936722
+ 621.7092945279
+ 622.3750027398
+ 624.2699000182
+ 626.0192834277
+ 627.2683968508
+ 628.3258623595
+ 630.4738874383
+ 630.8057809272
+ 632.2251411671
+ 633.5468582523
+ 635.5238003106
+ 637.3971931598
+ 637.9255139808
+ 638.9279382669
+ 640.6947946688
+ 641.9454996657
+ 643.2788837814
+ 644.9905782297
+ 646.3481915955
+ 647.7617530043
+ 648.7864008888
+ 650.1975193453
+ 650.6686838914
+ 653.6495716054
+ 654.3019205863
+ 655.7094630224
+ 656.9640845995
+ 658.1756144186
+ 659.663845973
+ 660.7167325953
+ 662.2965864311
+ 664.2446046523
+ 665.3427630956
+ 666.5151477042
+ 667.1484948946
+ 668.9758488202
+ 670.3235852059
+ 672.4581835842
+ 673.0435782861
+ 674.3558978101
+ 676.1396743636
+ 677.2301806688
+ 677.8004447462
+ 679.7421978825
+ 681.8949915332
+ 682.6027350198
+ 684.0135498139
+ 684.9726298621
+ 686.1632235877
+ 687.9615431847
+ 689.3689413623
+ 690.4747350324
+ 692.4516844155
+ 693.1769700606
+ 694.5339086999
+ 695.7263359209
+ 696.6260699003
+ 699.132095476
+ 700.2967391321
+ 701.3017429546
+ 702.2273431458
+ 704.0338392955
+ 705.1258139546
+ 706.1846547995
+ 708.2690708851
+ 709.2295885703
+ 711.1302741797
+ 711.9002899144
+ 712.7493834701
+ 714.0827718207
+ 716.1123964541
+ 717.4825697031
+ 718.7427865455
+ 719.6971009884
+ 721.3511622185
+ 722.2775049757
+ 723.8458210451
+ 724.5626138904
+ 727.05640323
+ 728.4054815889
+ 728.7587497956
+ 730.4164821228
+ 731.4173549186
+ 732.8180527145
+ 734.7896432524
+ 735.7654592086
+ 737.0529289123
+ 738.5804211714
+ 739.909523674
+ 740.5738074473
+ 741.7573355729
+ 743.8950131425
+ 745.3449895506
+ 746.4993058994
+ 747.6745636243
+ 748.2427544651
+ 750.6559503621
+ 750.9663810667
+ 752.8876215672
+ 754.3223704717
+ 755.839308976
+ 756.76824844
+ 758.1017292464
+ 758.9002382249
+ 760.2823669835
+ 762.7000332497
+ 763.5930661728
+ 764.3075227242
+ 766.0875400998
+ 767.2184721555
+ 768.2814618065
+ 769.6934072526
+ 771.0708393137
+ 772.9616175658
+ 774.1177446279
+ 775.0478470966
+ 775.9997119632
+ 777.2997485296
+ 779.1570769492
+ 780.3489250042
+ 782.1376643908
+ 782.5979439461
+ 784.2888226125
+ 785.7390897007
+ 786.4611474505
+ 787.4684638159
+ 790.0590923641
+ 790.8316204679
+ 792.4277076086
+ 792.8886525626
+ 794.4837918699
+ 795.6065961562
+ 797.263470038
+ 798.7075701663
+ 799.6543362109
+ 801.604246463
+ 802.5419848784
+ 803.2430962043
+ 804.7622391127
+ 805.8616356671
+ 808.151814936
+ 809.1977833633
+ 810.0818048864
+ 811.1843588465
+ 812.7711083891
+ 814.0459136075
+ 814.8705396259
+ 816.7277377144
+ 818.3806688664
+ 819.2046421708
+ 820.7218984439
+ 821.7134541334
+ 822.1977574934
+ 824.5262938716
+ 826.0392873766
+ 826.9058109541
+ 828.3401743005
+ 829.4370109683
+ 830.8958840533
+ 831.7997776591
+ 833.0036409092
+ 834.6519151478
+ 836.6935761876
+ 837.3473350595
+ 838.2490219927
+ 839.4653948103
+ 841.036389829
+ 842.0413542065
+ 844.1661966074
+ 844.8059939758
+ 846.1947699277
+ 847.9717176395
+ 848.4892811809
+ 849.8622743487
+ 850.645448466
+ 853.1631125834
+ 854.0955117199
+ 855.2867102444
+ 856.4841174908
+ 857.3107406026
+ 858.9040264665
+ 860.410670896
+ 861.1710982127
+ 863.1897197719
+ 864.3408239301
+ 865.5946643265
+ 866.423739904
+ 867.6931226118
+ 868.6704942291
+ 870.8469023258
+ 872.1887508216
+ 873.0989789713
+ 873.9083892353
+ 875.9852851088
+ 876.600825833
+ 877.654698341
+ 879.3809519698
+ 880.8346488479
+ 882.3866966272
+ 883.4303318387
+ 884.1987431146
+ 885.2723044796
+ 886.8528019629
+ 888.4755666738
+ 889.7352942941
+ 890.8131321125
+ 892.3864332602
+ 893.1191175673
+ 894.8862923209
+ 895.3979196748
+ 896.6322515562
+ 899.2215226684
+ 899.8588846079
+ 900.8497398605
+ 902.2432075868
+ 903.0996744426
+ 904.7029027223
+ 905.8299407582
+ 907.656729469
+ 908.3335436451
+ 910.1863340572
+ 911.234951486
+ 912.3310456
+ 912.8239992467
+ 914.7300969584
+ 916.3550008086
+ 917.8253775704
+ 918.8365352435
+ 919.4483444397
+ 921.1563955072
+ 922.5006293066
+ 923.2857198024
+ 924.7734839335
+ 926.5515527846
+ 927.8508589858
+ 928.6636593289
+ 929.8740928506
+ 931.0092113366
+ 931.8527407455
+ 934.3853068373
+ 934.9954248638
+ 936.2286493793
+ 937.532925712
+ 939.0243008992
+ 939.6609406145
+ 941.156999642
+ 942.0523416434
+ 944.1880358096
+ 945.333562503
+ 946.7658422047
+ 947.0791830963
+ 948.346646255
+ 950.1516126846
+ 951.0332487338
+ 952.7279886199
+ 954.1297192696
+ 954.8293089382
+ 956.6754793433
+ 957.5100525964
+ 958.4145933901
+ 959.4591688071
+ 961.6695724742
+ 963.1820866713
+ 963.5670401916
+ 965.0555796238
+ 966.1107548184
+ 967.3711537663
+ 968.6363019061
+ 970.1256105569
+ 971.0714914864
+ 973.1853612943
+ 973.8730789927
+ 974.7746350658
+ 976.1785024206
+ 976.9172021171
+ 978.7666715351
+ 980.5780006398
+ 981.2886153018
+ 982.3964851688
+ 983.5750760064
+ 985.1869286558
+ 986.1305151102
+ 986.7560084077
+ 988.9926223707
+ 990.223917804
+ 991.37429414776
+ 992.72869633673
+ 993.21458095744
+ 994.40459057109
+ 996.2053361643
+ 997.51193475194
+ 998.82754713693
+ 999.79157155741
+ 1001.3494826378
+ 1002.4043054884
+ 1003.2678081795
+ 1004.6750441212
+ 1005.5434203044
+ 1008.0067043071
+ 1008.7957099007
+ 1009.806590747
+ 1010.5697570111
+ 1012.4100425158
+ 1013.0586380984
+ 1014.6896326224
+ 1016.0601789426
+ 1017.2664023644
+ 1018.6055725186
+ 1019.9124397439
+ 1020.9174750173
+ 1021.5443444999
+ 1022.8852709117
+ 1025.2657241977
+ 1025.7079443715
+ 1027.4676935156
+ 1028.1289642555
+ 1029.227297444
+ 1030.8973687906
+ 1031.8331802974
+ 1032.8128830352
+ 1034.6129155295
+ 1036.1959173581
+ 1037.0247076463
+ 1038.0877522406
+ 1039.0774014369
+ 1040.2640379377
+ 1041.6215280145
+ 1043.6239543496
+ 1044.5149758291
+ 1045.107042353
+ 1047.0898174843
+ 1047.9871474896
+ 1048.9537851947
+ 1049.9962842566
+ 1051.5765718432
+ 1053.2457851584
+ 1054.7810394783
+ 1055.0021464757
+ 1056.6888473638
+ 1057.1000436596
+ 1059.1337691069
+ 1060.1395185616
+ 1061.5013044651
+ 1062.9153815079
+ 1064.0715510717
+ 1065.1218551063
+ 1066.4632234692
+ 1067.418860121
+ 1067.990000079
+ 1070.5350419968
+ 1071.6186232151
+ 1072.5439980111
+ 1073.5703531651
+ 1074.7477710443
+ 1076.2666255942
+ 1076.9240560658
+ 1078.647198481
+ 1079.8099654293
+ 1081.1710023435
+ 1082.9527497231
+ 1083.2954665141
+ 1084.1832643104
+ 1085.6478312086
+ 1086.9119989898
+ 1088.7557246748
+ 1089.7953379241
+ 1090.8631910262
+ 1091.7284729669
+ 1093.4408732724
+ 1094.2844575238
+ 1095.4330847587
+ 1096.4019177947
+ 1098.8410154666
+ 1099.3606671786
+ 1100.5744606225
+ 1101.8391111688
+ 1102.5517798999
+ 1103.7322971745
+ 1105.6171888308
+ 1106.7743716758
+ 1107.774531955
+ 1109.1589188568
+ 1110.4441429936
+ 1111.4435047649
+ 1112.4329954081
+ 1113.3975951148
+ 1115.0653594616
+ 1116.7872538812
+ 1117.9659196692
+ 1118.684134861
+ 1119.4732474262
+ 1121.1559376758
+ 1122.4586213569
+ 1123.1011173878
+ 1125.3147293978
+ 1125.7634424293
+ 1127.6580235272
+ 1128.4302246139
+ 1129.7289967771
+ 1130.3915978962
+ 1131.4950855619
+ 1133.7086256695
+ 1134.8856545915
+ 1135.5622139755
+ 1136.929293481
+ 1138.1515897798
+ 1138.9923418205
+ 1140.7218481719
+ 1141.2610229641
+ 1142.8586596079
+ 1144.7822995186
+ 1145.4853275171
+ 1146.5768149249
+ 1147.5017765233
+ 1148.6152772088
+ 1149.9826010281
+ 1151.5628147237
+ 1152.9431285306
+ 1153.8903037163
+ 1154.6975195354
+ 1156.6215678339
+ 1157.4323145756
+ 1158.0016090273
+ 1159.480657019
+ 1161.3966446344
+ 1162.487528602
+ 1163.7010316828
+ 1164.7375863512
+ 1165.2712277065
+ 1166.9436134095
+ 1168.0862716101
+ 1169.6983568849
+ 1170.4636385783
+ 1172.1206818657
+ 1173.305687764
+ 1174.2327668565
+ 1175.215452396
+ 1176.6328758098
+ 1177.1063044217
+ 1179.7012235019
+ 1180.6535437871
+ 1181.2673181517
+ 1182.5822703469
+ 1183.712775296
+ 1185.1558428475
+ 1185.8753586954
+ 1187.3451614933
+ 1188.8564442982
+ 1189.9636364979
+ 1191.4826059264
+ 1192.2186114781
+ 1193.3240214275
+ 1193.8574271354
+ 1196.0346717487
+ 1197.0717866588
+ 1198.6865691046
+ 1199.3565137079
+ 1200.5326920312
+ 1201.8103348566
+ 1203.1373508614
+ 1203.8552475941
+ 1204.9854921715
+ 1206.8704997939
+ 1208.4714599495
+ 1208.9894841679
+ 1209.8980300875
+ 1211.4161158928
+ 1212.1131530663
+ 1213.5983726804
+ 1215.389975065
+ 1216.1837220335
+ 1217.1744824977
+ 1219.0500281774
+ 1219.6144713109
+ 1220.816347691
+ 1221.6922424831
+ 1222.9524840951
+ 1225.0183300242
+ 1225.8550207608
+ 1227.2318276415
+ 1227.9171416144
+ 1228.793154363
+ 1230.5846031542
+ 1231.5622738776
+ 1232.5295870406
+ 1234.2778166534
+ 1235.5025485265
+ 1236.3990174658
+ 1237.9772985136
+ 1238.4572327957
+ 1239.4908071468
+ 1240.8134717852
+ 1243.078076398
+ 1243.5381465261
+ 1244.851433967
+ 1245.6558661881
+ 1247.3725619699
+ 1248.0630610532
+ 1249.159887953
+ 1250.6723972757
+ 1251.6598320043
+ 1253.6735778521
+ 1254.4313284218
+ 1255.4082306453
+ 1256.1812141985
+ 1257.5412194126
+ 1258.7792334886
+ 1260.3445483162
+ 1261.6117171615
+ 1262.5566140004
+ 1263.6767328439
+ 1264.957223007
+ 1266.1790377606
+ 1267.2003456118
+ 1267.5705717794
+ 1270.1189218865
+ 1271.1342996316
+ 1272.0839595993
+ 1273.2611446335
+ 1274.1962208895
+ 1275.0920303158
+ 1276.8421715556
+ 1277.7630919863
+ 1279.3328433167
+ 1280.155794409
+ 1281.8287269597
+ 1283.0004913867
+ 1283.3350321389
+ 1284.8547951546
+ 1285.6950233311
+ 1287.4100266171
+ 1289.1653515328
+ 1290.1047715198
+ 1290.417708073
+ 1291.9458709681
+ 1293.4939815574
+ 1294.1184743778
+ 1295.3653635054
+ 1296.8011109923
+ 1298.2565270679
+ 1299.4051712507
+ 1300.4900189824
+ 1301.4955166806
+ 1302.3467423792
+ 1303.2732002288
+ 1305.401672188
+ 1306.508393313
+ 1307.2672421078
+ 1308.9881965176
+ 1309.4215324933
+ 1311.0565705111
+ 1311.966940608
+ 1313.031599369
+ 1314.0525656517
+ 1316.2121126029
+ 1317.0729860348
+ 1318.1712791322
+ 1318.9478805966
+ 1319.9310828775
+ 1321.6281385519
+ 1322.2580671234
+ 1324.2249787188
+ 1325.237624359
+ 1325.9819696304
+ 1327.6352811085
+ 1329.0435179965
+ 1329.2050187855
+ 1330.4299371205
+ 1331.8275913853
+ 1333.6735226103
+ 1334.7473290517
+ 1335.694974526
+ 1336.6901846534
+ 1337.6887918097
+ 1338.9231645987
+ 1340.4264004573
+ 1341.1662722529
+ 1342.6085078838
+ 1344.1560440036
+ 1345.4771062614
+ 1345.7314132554
+ 1347.5194717509
+ 1348.0172380187
+ 1349.085194014
+ 1351.2962063741
+ 1352.2104651592
+ 1353.4833383583
+ 1353.8867819717
+ 1355.6805953206
+ 1356.6056557098
+ 1357.7717428286
+ 1358.4601603992
+ 1360.3931447622
+ 1361.3930747136
+ 1363.0223286033
+ 1363.8791907971
+ 1364.5765848968
+ 1365.4937335513
+ 1367.10409097
+ 1368.330193308
+ 1369.6869490773
+ 1370.9735227678
+ 1371.6865535528
+ 1373.2029145624
+ 1374.1547986586
+ 1375.3023923447
+ 1376.1617799936
+ 1377.1776336421
+ 1379.6832830286
+ 1380.1485784417
+ 1381.0739771492
+ 1382.3456629785
+ 1383.2975910079
+ 1384.4444158478
+ 1385.6637770112
+ 1387.3266476635
+ 1387.9214541271
+ 1389.5658317984
+ 1390.7054902864
+ 1391.8532004433
+ 1392.6440277885
+ 1393.4334017408
+ 1394.8841846757
+ 1396.5441631237
+ 1397.8346233214
+ 1398.8376752014
+ 1399.8394729412
+ 1400.4269462974
+ 1402.5643472501
+ 1402.9737476409
+ 1404.0062921705
+ 1405.6669750592
+ 1407.0851427764
+ 1408.1363074962
+ 1409.3206810798
+ 1410.0248107258
+ 1411.2570568157
+ 1411.9656534618
+ 1413.8431487886
+ 1415.5857847955
+ 1415.7815813033
+ 1417.1028229338
+ 1418.6969638525
+ 1419.422480946
+
+### Analytic rank of elliptic curve 5077a1
+analytic rank equals 3
+
+### run example program
+-----------------------------------------------
+
+Name of L_function: zeta
+All coefficients are equal to 1
+
+Q = 0.564189583548
+OMEGA = (1,0)
+a = 1 (the quasi degree)
+gamma[1] =0.5    lambda[1] =(0,0)
+
+
+number of poles (of the completed L function) = 2
+pole[1] =(1,0)    residue[1] =(1,0)
+pole[2] =(0,0)    residue[2] =(-1,0)
+-----------------------------------------------
+
+-----------------------------------------------
+
+Name of L_function: L4
+number of dirichlet coefficients = 4
+coefficients are periodic
+b[1] = 1
+b[2] = 0
+b[3] = -1
+b[4] = 0
+
+Q = 1.1283791671
+OMEGA = (1,0)
+a = 1 (the quasi degree)
+gamma[1] =0.5    lambda[1] =(0.5,0)
+
+
+number of poles (of the completed L function) = 0
+-----------------------------------------------
+
+-----------------------------------------------
+
+Name of L_function: L5
+number of dirichlet coefficients = 5
+coefficients are periodic
+b[1] = (1,0)
+b[2] = (0,1)
+b[3] = (-0,-1)
+b[4] = (-1,0)
+b[5] = (0,0)
+
+Q = 1.26156626101
+OMEGA = (0.850650808352,0.525731112119)
+a = 1 (the quasi degree)
+gamma[1] =0.5    lambda[1] =(0.5,0)
+
+
+number of poles (of the completed L function) = 0
+-----------------------------------------------
+
+zeta(0.5,0) = (-1.46035450881,0)
+L4(0.5,0) = (0.6676914571896,0)
+L5(0.5,0) = (0.7637478801173,0.2169647675189)
+L4(1,0) = (0.7853981633975,0)
+L5(1,0) = (0.8648062659772,0.2041530661384)
+0.4285714285714
+1.5
+0.1666666666667
+0.6666666666667
+0.5714285714286
+0
+0.5714285714286
+0.5714285714286
+0
+0.8888888888889
+6.123031769112e-17
+-0.7071067811865
+
+### test data files: zeros of data_mass
+ 2.89772467827
+ 5.59124531532
+ 21.09037750873
+ 23.15751048459
+ 25.43930038984
+ 29.18920671354
+ 31.06173948455
+ 32.45271823746
+ 34.02727968404
+ 36.93123719687
+ 38.98709821794
+ 40.46554901427
+ 41.68511034313
+ 43.05108147996
+ 45.22036201604
+ 47.66072427933
+ 48.81796648431
+ 49.79846517638
+ 51.37514501231
+ 52.55988761653
+
+### test data files: zeros of data_tau
+ 9.222379399921
+ 13.90754986139
+ 17.44277697823
+ 19.65651314195
+ 22.33610363721
+ 25.27463654811
+ 26.80439115835
+ 28.83168262419
+ 31.17820949836
+ 32.77487538223
+ 35.19699584121
+ 36.74146297671
+ 37.75391597562
+ 40.21903437422
+ 41.73049228931
+ 43.59174123558
+ 45.04007921378
+ 46.19731875314
+ 48.35905247802
+ 49.27605353656
+ 51.15656028144
+ 53.06671423543
+ 54.09995263156
+ 55.21778745348
+ 56.71529404473
+ 58.58016100791
+ 59.78593800332
+ 61.13672295793
+ 62.66499232631
+ 64.08664571893
+ 64.84864127983
+ 66.49476926719
+ 67.93860977475
+ 69.04339787489
+ 71.11465341425
+ 71.74750419617
+ 72.81406066759
+ 74.09582544002
+ 75.77216168976
+ 77.10183189349
+ 77.68461125026
+ 79.79293909124
+ 80.5601920681
+ 82.00757620452
+ 82.84252583957
+ 83.97564035576
+ 85.46221814858
+ 86.75597218826
+ 88.07513099426
+ 89.02289034074
+ 90.45103289616
+ 91.11271853147
+ 92.44292549472
+ 93.76912394744
+ 95.13807853977
+ 95.62492107705
+ 97.34104088985
+ 98.709804088181
+ 99.746648900304
+ 100.22461499968
+ 101.34359353371
+ 103.16663591564
+ 103.81733899745
+ 105.22181333799
+ 106.2938221342
+ 107.42670755393
+ 108.47543790164
+ 109.39169607603
+ 110.709662684
+ 111.53473540164
+ 112.75715359897
+ 113.84343404772
+ 115.06276556053
+ 116.4634839837
+ 117.11654084727
+ 118.14687073685
+ 119.08216779665
+ 119.99454209524
+ 121.78633067852
+ 122.55731782503
+ 123.21241716312
+ 124.60624049117
+ 125.9428934493
+ 126.75939204587
+ 127.55580316015
+ 128.62383894451
+ 129.60342208413
+ 130.9485924074
+ 131.70819904812
+ 132.96854278614
+ 134.34729668877
+ 135.07869588874
+ 135.55289998753
+ 137.090334711
+ 137.70022292032
+ 139.28400855168
+ 139.93658439006
+ 140.89653322681
+ 142.14115198902
+ 143.08355526348
+ 144.3547263694
+ 145.16531200641
+ 146.1487705718
+ 146.40978836463
+ 148.11775412261
+ 149.04126788157
+ 150.27507429698
+ 150.90642375398
+ 152.13443437848
+ 153.11514719403
+ 154.05182909662
+ 154.79531222958
+ 155.73207939114
+ 157.09578319229
+ 157.91275288651
+ 158.66081392258
+ 159.66861391034
+ 161.30637028119
+ 161.85035860513
+ 162.87145492254
+ 163.5474941088
+ 164.3389052284
+ 165.6101228958
+ 166.5807970057
+ 167.6436347091
+ 168.6591247847
+ 169.2457741065
+ 170.5979320488
+ 171.4664999977
+ 172.2169267498
+ 173.5242528689
+ 173.9134135057
+ 174.8765292772
+ 176.1665777917
+ 177.2078297826
+ 177.6927239362
+ 179.2467652208
+ 180.0763485343
+ 180.763679308
+ 181.7354944856
+ 182.2024919488
+ 183.5234365784
+ 184.7663025824
+ 185.4918147412
+ 186.2444170036
+ 187.0757402666
+ 188.5368725277
+ 189.2689736566
+ 190.183009487
+ 190.9583656893
+ 191.6328149027
+ 192.7925002062
+ 193.5481111769
+ 194.837180509
+ 195.4071279189
+ 196.8654811
+ 197.4600122758
+ 198.1569402301
+ 199.3112321519
+ 200.1461412029
+ 200.7860427714
+ 201.843714962
+ 203.1511121528
+ 203.536310991
+ 204.5123933434
+ 205.6235312757
+ 206.4551567297
+ 207.846761068
+ 208.3443022524
+ 208.8862430002
+ 209.7545253738
+ 210.7039058347
+ 211.9648793319
+ 212.9829738766
+ 213.4280929692
+ 214.4386923504
+ 215.5826154495
+ 216.423719513
+ 217.1374984504
+ 217.8974922792
+ 219.0577593492
+ 219.6196634032
+ 220.8424853007
+ 221.2983798027
+ 222.4923346026
+ 223.3196639866
+ 224.4885153001
+ 225.2978104732
+ 226.1301840738
+ 226.6142171531
+ 227.6019259102
+ 228.5023298788
+ 229.309991752
+ 230.57189985
+ 231.3567694302
+ 232.0759318125
+ 232.6653058039
+ 234.1010064029
+ 234.8267446127
+ 235.74710144
+ 236.3093063595
+ 237.3473335472
+ 237.6450888275
+ 239.289059163
+ 239.8992460699
+ 240.4924083209
+ 241.8682289971
+ 242.570187861
+ 243.7263550403
+ 243.9341977649
+ 245.0890157105
+ 245.5943279944
+ 246.6926898485
+ 247.8638440831
+ 248.4749527797
+ 249.1617534962
+ 250.0852489562
+ 251.0710985655
+ 252.2017418298
+ 252.763898597
+ 253.6220781406
+ 254.636456582
+ 255.0804799369
+ 255.6503879912
+ 257.1157213659
+ 257.8064380484
+ 258.8193362763
+ 259.5597420518
+ 260.3196678497
+ 261.3765190186
+ 261.9559808789
+ 263.2167448602
+ 263.4609411671
+ 264.333389913
+ 265.5303740019
+ 266.1943306679
+ 267.0749849987
+ 267.9143130553
+ 268.5129542542
+ 269.8286792243
+ 270.8988961225
+ 271.4162122773
+ 271.7926935992
+ 272.7023215418
+ 273.6244064675
+ 274.5969844018
+ 275.4098195361
+ 276.5361690897
+ 276.9253544225
+ 277.8396903879
+ 278.9549020578
+ 279.5595175681
+ 280.4631782672
+ 281.329358549
+ 281.989594894
+ 282.7955544863
+ 283.5803955395
+ 284.3899259683
+ 285.3270241537
+ 286.391637452
+ 286.856599307
+ 288.053289884
+ 288.8006650626
+ 289.542732101
+ 290.1350782102
+ 291.101338116
+ 291.5382880479
+ 292.7113897787
+ 293.9381254377
+ 294.3724290565
+ 295.0297012071
+ 295.6922564133
+ 297.2842177677
+ 297.5534155805
+ 298.6305678823
+ 299.4765749055
+ 299.8355700865
+ 300.6053092776
+ 301.5784501395
+ 302.6077895528
+ 303.338282435
+ 303.9688372747
+ 305.1095949091
+ 306.0720603098
+ 306.4583488649
+ 307.3518759722
+ 308.2187292243
+ 308.7765237235
+ 309.843954242
+ 310.5622090525
+ 311.2325407073
+ 312.4969547628
+ 312.7215429826
+ 313.7660202434
+ 314.6279086185
+ 315.6181024136
+ 316.4577129805
+ 317.0960150769
+ 317.7914075384
+ 318.3616944674
+ 319.0690896988
+ 320.2426837231
+ 321.2416146557
+ 321.8138419056
+ 322.6315783665
+ 323.4360729966
+ 324.0061027022
+ 325.5738331178
+ 325.7479417843
+ 326.3286660475
+ 327.3678299142
+ 328.1230302867
+ 329.0257388381
+ 329.658141759
+ 330.4848328263
+ 331.3228769708
+ 332.0708905071
+ 333.2490196451
+ 334.0835689792
+ 334.3972950425
+ 335.3045870282
+ 335.8778298615
+ 336.9065217434
+ 337.3867493912
+ 338.5895326087
+ 339.36876123
+ 340.067355744
+ 340.7148879606
+ 341.6493355687
+ 342.3800601324
+ 343.3260341321
+ 344.1094216926
+ 344.898361981
+ 345.5424536678
+ 345.9837371779
+ 346.8525389262
+ 348.0322080089
+ 348.6820197512
+ 349.553089947
+ 350.0319040263
+ 351.28960164
+ 351.9730519484
+ 352.7440783264
+ 353.1107490671
+ 354.0570557411
+ 354.9855222604
+ 355.2922238613
+ 356.8338668125
+ 357.4425566582
+ 357.7031585097
+ 358.6071448756
+ 359.6318917814
+ 360.529956209
+ 361.4460080487
+ 361.835939688
+ 362.9109338715
+ 363.2059203685
+ 364.0228859107
+ 364.8890717283
+ 365.7941219473
+ 366.3946310163
+ 367.673032655
+ 368.1154302097
+ 368.7373188992
+ 369.7778301412
+ 370.4275144261
+ 371.2020690388
+ 372.0496199652
+ 372.6107172183
+ 373.3200722486
+ 374.3113862667
+ 374.9243466649
+ 375.8449583875
+ 376.5412950432
+ 377.1835802572
+ 378.1164551309
+ 379.2793078941
+ 379.6929732133
+ 380.5776722324
+ 381.1774071699
+ 381.3492984959
+ 382.5430013711
+ 383.5919971027
+ 384.2670525581
+ 385.0510712163
+ 385.7574243736
+ 386.3420931504
+ 387.3373820285
+ 388.178605882
+ 388.9973676622
+ 389.3990336151
+ 390.3466532774
+ 391.1159227001
+ 391.7784046796
+ 392.3140308101
+ 393.3171989127
+ 394.3868425001
+ 394.5399598806
+ 395.7471548949
+ 396.7547231083
+ 397.1807480369
+ 397.8266928791
+ 398.6963498691
+ 399.410855365
+ 400.1592344328
+ 400.4886536787
+ 401.9200307113
+ 402.4204792092
+ 403.4792667242
+ 403.8196349588
+ 404.3622957518
+ 405.5873310222
+ 406.4105028833
+ 407.1690726594
+ 407.936718736
+ 408.2753097467
+ 409.0928595592
+ 409.756711946
+ 410.5601675382
+ 411.7836485129
+ 412.1003585138
+ 412.9909693929
+ 413.6693598069
+ 414.8388470742
+ 415.2601024032
+ 415.9258006044
+ 416.8249176263
+ 417.3019624028
+ 418.1071018321
+ 419.0749538439
+ 419.6836233385
+ 420.5464642084
+ 421.0717682948
+ 421.7948585105
+ 422.9097886826
+ 423.4843519255
+ 424.1849816321
+ 425.4269555222
+ 425.7244703918
+ 426.3130294323
+ 426.9277273908
+ 427.9032509045
+ 428.3549687941
+ 429.5665602469
+ 430.2946165983
+ 430.9899218068
+ 431.7133442405
+ 432.1270106631
+ 433.302690053
+ 433.9677033632
+ 434.7562935884
+ 435.2921766875
+ 436.2409315236
+ 436.4745702407
+ 437.5201512612
+ 438.4315260285
+ 439.1392629552
+ 439.4946176433
+ 440.5637942063
+ 441.3004870257
+ 442.3624551689
+ 443.0119244634
+ 443.5001164934
+ 443.972496073
+ 444.870611287
+ 445.6034828587
+ 446.3573771416
+ 447.1729484623
+ 448.0916398015
+ 448.6875613652
+ 449.3107759589
+ 449.9538530656
+ 451.0168035029
+ 451.7600259829
+ 452.3466911118
+ 453.0511188508
+ 454.0821798329
+ 454.44853114
+ 454.9499653675
+ 455.7206618436
+ 456.8053468352
+ 457.737178687
+ 457.9627565758
+ 459.0701009815
+ 459.671372983
+ 460.5695936199
+ 461.1466034987
+ 462.057394796
+ 462.3806309246
+ 463.2589055236
+ 463.7405482997
+ 464.8907178657
+ 465.7444357651
+ 466.1431406005
+ 466.8457443575
+ 467.6995428623
+ 468.1858650096
+ 469.4242322641
+ 470.2470663986
+ 470.632742058
+ 471.2762765664
+ 472.0853674123
+ 472.5529897442
+ 473.2178548669
+ 474.5271591927
+ 474.7927674814
+ 475.6705828315
+ 476.5344223262
+ 477.2231058871
+ 478.0017010518
+ 478.5493401775
+ 479.2761504172
+ 480.1909877699
+ 480.8777358595
+ 481.2823090642
+ 482.2318739581
+ 482.8283347184
+ 483.8478239232
+ 484.0400298822
+ 485.4694583119
+ 485.5953266191
+ 486.4293767199
+ 487.5900376226
+ 488.211583768
+ 488.7669723707
+ 489.6497600134
+ 489.9058984976
+ 490.5665522955
+ 491.5669708503
+ 492.1540748274
+ 493.4235293344
+ 493.9557783289
+ 494.3044354588
+ 494.9581999027
+ 495.9770107757
+ 496.9369560649
+ 497.4254399269
+ 498.0590027016
+ 498.8883173132
+ 499.4256062698
+ 500.1922122541
+ 500.8130967713
+ 501.6671459939
+ 502.2461898094
+ 503.2198027716
+ 503.6924652613
+ 504.7108959469
+ 505.3921039021
+ 506.2059663774
+ 506.779902007
+ 507.122200488
+ 508.1498959856
+ 508.7030083139
+ 509.6589270955
+ 509.9262423147
+ 511.1672837687
+ 511.8440280087
+ 512.3725751341
+ 512.9023170055
+ 513.8118007869
+ 514.7026839653
+ 515.2818401225
+ 516.288582045
+ 516.8168143226
+ 517.4399630057
+ 517.6980824848
+ 518.5157058242
+ 519.6593828202
+ 520.2050178374
+ 521.1153821745
+ 521.556609138
+ 522.3987628217
+ 523.2884492583
+ 523.7426510586
+ 524.6670082532
+ 525.3169714212
+ 525.8430761523
+ 526.3966398408
+ 527.3364604715
+ 528.1087348605
+ 528.8023083549
+ 529.4906043154
+ 530.0652382711
+ 530.688238201
+ 531.6407074272
+ 532.6285805167
+ 532.9806498884
+ 534.0334296322
+ 534.4092441631
+ 534.9792072748
+ 535.9634526077
+ 536.2247715823
+ 536.993367906
+ 538.0713781815
+ 538.7983796168
+ 539.3652424452
+ 540.1792739855
+ 540.8757169457
+ 541.2147076142
+ 542.3276545663
+ 543.0916763147
+ 543.6891780917
+ 544.1813507955
+ 545.0293563831
+ 545.7728940077
+ 546.0353104691
+ 547.1758033702
+ 547.8290543163
+ 548.695012734
+ 549.0170325921
+ 549.7836611539
+ 551.0217342631
+ 551.7080761102
+ 552.0283049181
+ 552.5480712559
+ 553.2979027587
+ 554.169452465
+ 554.5005752598
+ 555.6667852599
+ 556.3780490535
+ 557.0468370642
+ 557.4580781764
+ 558.4520689557
+ 558.7954256711
+ 560.0492291097
+ 560.4674899656
+ 561.202446462
+ 562.0387210723
+ 562.4486290956
+ 563.2225688205
+ 563.8354849359
+ 564.37761433
+ 565.3131129716
+ 566.0714711421
+ 566.7437544135
+ 567.5904646345
+ 568.1695453876
+ 568.8345731712
+ 569.7544549057
+ 570.1254948436
+ 570.9138176242
+ 571.756687239
+ 572.1479785473
+ 572.6724247839
+ 573.7931388244
+ 574.657757711
+ 575.0897369417
+ 575.6618469341
+ 576.2441114677
+ 577.2600813089
+ 577.976004581
+ 578.7528172084
+ 579.5615552965
+ 580.0131664726
+ 580.5370290842
+ 581.2054055556
+ 581.5964993952
+ 583.0180045495
+ 583.3127136797
+ 584.0842967758
+ 584.9173723789
+ 585.6489028533
+ 585.9766036081
+ 587.1646847002
+ 587.6518722029
+ 588.2803287035
+ 588.8046774763
+ 589.8422420162
+ 590.2650595054
+ 591.0246435458
+ 591.6709281049
+ 592.3144660519
+ 593.0635253283
+ 593.8611857051
+ 594.5042402355
+ 595.0425842537
+ 596.3164027673
+ 596.4832760844
+ 597.4668841687
+ 598.0686701066
+ 598.5163375553
+ 599.088985808
+ 599.8724924494
+ 600.590372786
+ 601.3911329161
+ 602.2984252947
+ 602.9818380952
+ 603.4126135135
+ 603.833028865
+ 604.808460113
+ 605.7677254319
+ 606.3669696952
+ 607.1057762699
+ 607.4116309095
+ 608.1614285363
+ 609.053964657
+ 609.3949560148
+ 610.2284496929
+ 611.152994214
+ 611.6669694346
+ 612.2618139833
+ 613.0526664738
+ 614.2345951373
+ 614.502885248
+ 615.120794419
+ 615.7444748144
+ 616.5707917567
+ 617.0151078002
+ 617.7934565735
+ 618.4313130811
+ 619.3839838155
+ 620.0510108515
+ 620.4792229126
+ 621.2266252288
+ 622.0122890334
+ 622.639192718
+ 623.3591842295
+ 624.2776924812
+ 624.7358509773
+ 625.783241064
+ 625.8878893225
+ 626.6289872637
+ 627.1707375404
+ 627.8654595271
+ 628.9545412652
+ 629.6936197945
+ 630.1928770806
+ 630.6830957996
+ 631.6694288012
+ 632.3290416465
+ 632.8917506833
+ 633.6643616214
+ 634.3820086937
+ 634.8660702935
+ 635.3984422438
+ 636.2834873426
+ 636.9518024761
+ 637.8091595766
+ 638.3721344383
+ 638.8595131416
+ 639.4860794577
+ 640.5345455773
+ 641.0289443115
+ 642.1184975814
+ 642.6251032735
+ 643.0540591474
+ 643.7767417037
+ 644.0976179975
+ 645.195944393
+ 645.6921996602
+ 646.3228306082
+ 647.2403173592
+ 647.9614051035
+ 648.7323963272
+ 649.0161354724
+ 649.940138733
+ 650.406070262
+ 651.5422398424
+ 651.9578549588
+ 652.4076481383
+ 653.5761694226
+ 653.918956636
+ 654.2662503541
+ 655.1399416162
+ 656.1436522637
+ 656.4636345019
+ 657.355870447
+ 658.09679873
+ 658.5258638413
+ 659.469853767
+ 660.300762664
+ 660.8466019912
+ 661.4397604223
+ 661.8026206421
+ 662.5387604177
+ 663.2456368532
+ 663.9619087758
+ 665.0177946402
+ 665.4343037606
+ 666.123965049
+ 666.7657722667
+ 667.0747650385
+ 668.2104288865
+ 669.1515803844
+ 669.4421337627
+ 670.0808998901
+ 670.9525873037
+ 671.5549805474
+ 671.9640453313
+ 672.5914341134
+ 673.3458495361
+ 674.2882714466
+ 674.7932432583
+ 675.3811482285
+ 676.3793128206
+ 676.8747866226
+ 677.8535749111
+ 678.03721085
+ 678.7869852975
+ 679.6347513692
+ 680.2060748237
+ 680.8853194008
+ 681.2775043262
+ 682.1813201039
+ 682.9616335889
+ 683.5862451423
+ 684.280354746
+ 684.7611190712
+ 685.5554040746
+ 686.0268621626
+ 687.2333679383
+ 687.8630588617
+ 688.2695164282
+ 688.9700274893
+ 689.4887967334
+ 690.0287719359
+ 690.6234223665
+ 691.5283764461
+ 692.4881150453
+ 692.9086190681
+ 693.5965975886
+ 694.3144158553
+ 694.7886862017
+ 695.706850225
+ 696.4535916702
+ 696.8464986531
+ 697.792865264
+ 698.0906314358
+ 698.8476393335
+ 699.4912465351
+ 700.5716146347
+ 700.9048650841
+ 701.0973114665
+ 702.4463033628
+ 702.8327132509
+ 703.6167875189
+ 704.2303074719
+ 705.2893867465
+ 705.6100290328
+ 706.4019215452
+ 706.8168622372
+ 707.5134864183
+ 708.14584178
+ 708.7245834922
+ 709.4584356982
+ 710.2537137971
+ 711.1578646007
+ 711.7343823259
+ 712.0915771661
+ 712.6720043985
+ 713.7013789674
+ 714.1899433337
+ 715.0295363716
+ 715.8007336791
+ 716.2375626737
+ 716.9412604664
+ 717.2260850134
+ 718.1099004028
+ 718.6855143901
+ 719.6953824621
+ 720.3065676052
+ 720.6426884544
+ 721.4343053846
+ 722.3911416324
+ 722.9581490313
+ 723.8102637476
+ 724.0895792528
+ 724.9024584572
+ 725.1346147542
+ 726.2591473856
+ 726.6876042148
+ 727.3421515487
+ 728.2868630863
+ 728.8570402933
+ 729.4899639716
+ 730.0000943004
+ 730.5143943855
+ 731.6790844739
+ 732.3188243846
+ 732.6408854887
+ 733.5993896596
+ 734.1926807074
+ 734.856425002
+ 735.1901397363
+ 735.8741571034
+ 736.4295680899
+ 737.4705269107
+ 738.0388155975
+ 738.7350991619
+ 739.6950091845
+ 739.8438580846
+ 740.6032526517
+ 741.3750965284
+ 742.1010509211
+ 742.8563498819
+ 743.2580960816
+ 743.7871278817
+ 744.5214145137
+ 745.4082167245
+ 745.7006663497
+ 746.8493598724
+ 747.1118097607
+ 747.9556170627
+ 748.3071752408
+ 749.2477834966
+ 749.9539208565
+ 750.8621488749
+ 751.4165224271
+ 751.9854397139
+ 752.2691457493
+ 753.0158221848
+ 753.6067329909
+ 754.4477840392
+ 755.0695423481
+ 756.013465277
+ 756.3641990433
+ 757.0554832637
+ 757.8455316437
+ 758.5776717492
+ 758.8189289195
+ 759.8444806885
+ 760.5868520791
+ 760.9449038594
+ 761.7033478585
+ 762.4679225516
+ 762.9521388316
+ 763.4121816223
+ 764.2191940587
+ 764.8584398118
+ 765.7030582987
+ 766.3246054396
+ 766.8945393521
+ 767.4804863344
+ 768.549898282
+ 769.0724248217
+ 769.5598768844
+ 770.0075906714
+ 771.0511304086
+ 771.3618087961
+ 771.8554828074
+ 772.5415406394
+ 773.8316592955
+ 774.2342778298
+ 774.7121075155
+ 775.3977269092
+ 775.7841964027
+ 776.676090059
+ 777.5797066335
+ 778.2137968534
+ 778.7982728617
+ 779.3479665709
+ 779.9564449568
+ 780.5976969005
+ 781.054592128
+ 781.7892488953
+ 782.654818633
+ 783.0854269616
+ 783.9954790778
+ 784.6200582001
+ 785.0110937334
+ 786.2620308904
+ 786.4061120117
+ 787.3698462696
+ 787.5202801538
+ 788.5147336006
+ 789.0171619529
+ 789.7149272017
+ 790.4017218435
+ 790.83461823
+ 791.8454601846
+ 792.3229475541
+ 792.8555690461
+ 793.6824817862
+ 794.2494604355
+ 794.8643478829
+ 795.7108659659
+ 796.3599628579
+ 797.2415727207
+ 797.5367495806
+ 798.2405842527
+ 798.4808445315
+ 799.1140258006
+ 800.1561392321
+ 800.8559394303
+ 801.3394717495
+ 802.303512687
+ 802.7583089762
+ 803.3028993871
+ 803.8165934026
+ 804.8119519437
+ 805.583201496
+ 805.8640060142
+ 806.6989178963
+ 807.0969015865
+ 807.842135501
+ 808.5551619242
+ 809.0614773183
+ 809.9220540855
+ 810.4394871581
+ 810.954253284
diff --git a/srcpkgs/lcalc/files/test.musl b/srcpkgs/lcalc/files/test.musl
new file mode 100644
index 000000000000..5b1b4d8b978d
--- /dev/null
+++ b/srcpkgs/lcalc/files/test.musl
@@ -0,0 +1,2102 @@
+### First 1000 zeros of zeta function
+ 14.13472514173
+ 21.02203963877
+ 25.01085758015
+ 30.42487612586
+ 32.93506158774
+ 37.58617815883
+ 40.91871901215
+ 43.32707328091
+ 48.00515088117
+ 49.77383247767
+ 52.97032147771
+ 56.44624769706
+ 59.3470440026
+ 60.83177852461
+ 65.11254404808
+ 67.07981052949
+ 69.54640171117
+ 72.06715767448
+ 75.70469069908
+ 77.14484006887
+ 79.33737502025
+ 82.91038085409
+ 84.73549298052
+ 87.42527461313
+ 88.80911120763
+ 92.49189927056
+ 94.65134404052
+ 95.87063422825
+ 98.831194218194
+ 101.31785100573
+ 103.72553804048
+ 105.44662305233
+ 107.16861118428
+ 111.02953554317
+ 111.87465917699
+ 114.32022091545
+ 116.22668032086
+ 118.79078286598
+ 121.37012500242
+ 122.94682929355
+ 124.25681855435
+ 127.5166838796
+ 129.57870419996
+ 131.08768853093
+ 133.497737203
+ 134.75650975337
+ 138.11604205453
+ 139.73620895212
+ 141.12370740402
+ 143.11184580762
+ 146.00098248677
+ 147.42276534256
+ 150.05352042078
+ 150.92525761224
+ 153.0246938112
+ 156.11290929424
+ 157.59759181759
+ 158.84998817142
+ 161.1889641376
+ 163.03070968718
+ 165.5370691879
+ 167.1844399782
+ 169.0945154156
+ 169.9119764794
+ 173.4115365196
+ 174.7541915234
+ 176.4414342977
+ 178.3774077761
+ 179.9164840203
+ 182.2070784844
+ 184.8744678484
+ 185.5987836777
+ 187.2289225835
+ 189.416158656
+ 192.0266563607
+ 193.0797266038
+ 195.2653966795
+ 196.876481841
+ 198.0153096763
+ 201.2647519437
+ 202.4935945141
+ 204.1896718031
+ 205.3946972022
+ 207.9062588878
+ 209.5765097169
+ 211.6908625954
+ 213.3479193597
+ 214.5470447835
+ 216.1695385083
+ 219.067596349
+ 220.7149188393
+ 221.4307055547
+ 224.0070002546
+ 224.9833246696
+ 227.4214442797
+ 229.3374133055
+ 231.2501887005
+ 231.9872352532
+ 233.6934041789
+ 236.5242296658
+ 237.7698204809
+ 239.5554775733
+ 241.0491577962
+ 242.8232719342
+ 244.0708984971
+ 247.1369900749
+ 248.1019900601
+ 249.5736896447
+ 251.014947795
+ 253.069986748
+ 255.3062564549
+ 256.3807136944
+ 258.6104394915
+ 259.8744069897
+ 260.8050845046
+ 263.5738939049
+ 265.5578518389
+ 266.6149737815
+ 267.9219150828
+ 269.970449024
+ 271.4940556416
+ 273.4596091884
+ 275.5874926493
+ 276.4520495031
+ 278.2507435298
+ 279.2292509277
+ 282.4651147651
+ 283.2111857332
+ 284.8359639809
+ 286.667445363
+ 287.9119205014
+ 289.5798549292
+ 291.8462913291
+ 293.5584341394
+ 294.9653696193
+ 295.573254879
+ 297.9792770619
+ 299.8403260537
+ 301.6493254622
+ 302.6967495896
+ 304.8643713409
+ 305.728912602
+ 307.2194961282
+ 310.1094631467
+ 311.1651415304
+ 312.4278011806
+ 313.9852857312
+ 315.4756160895
+ 317.7348059424
+ 318.8531042563
+ 321.1601343091
+ 322.1445586725
+ 323.4669695575
+ 324.8628660517
+ 327.4439012619
+ 329.0330716805
+ 329.9532397282
+ 331.4744675827
+ 333.6453785249
+ 334.2113548332
+ 336.8418504284
+ 338.3399928508
+ 339.8582167254
+ 341.042261111
+ 342.0548775104
+ 344.6617029403
+ 346.347870566
+ 347.2726775844
+ 349.3162608707
+ 350.4084193492
+ 351.8786490254
+ 353.4889004887
+ 356.0175749773
+ 357.151302252
+ 357.9526851016
+ 359.7437549531
+ 361.2893616958
+ 363.331330579
+ 364.7360241141
+ 366.2127102883
+ 367.9935754817
+ 368.9684380957
+ 370.0509192121
+ 373.0619283721
+ 373.8648739109
+ 375.8259127667
+ 376.3240922307
+ 378.43668025
+ 379.8729753465
+ 381.4844686172
+ 383.4435294495
+ 384.9561168149
+ 385.861300846
+ 387.2228902224
+ 388.8461283542
+ 391.4560835636
+ 392.2450833395
+ 393.4277438444
+ 395.582870011
+ 396.3818542226
+ 397.9187362096
+ 399.9851198762
+ 401.8392286005
+ 402.8619177639
+ 404.2364418002
+ 405.1343874599
+ 407.5814603869
+ 408.9472455024
+ 410.5138691934
+ 411.9722678043
+ 413.2627360702
+ 415.0188097552
+ 415.4552149963
+ 418.3877057895
+ 419.8613648182
+ 420.643827625
+ 422.0767100588
+ 423.7165796275
+ 425.0698824945
+ 427.2088250841
+ 428.1279140766
+ 430.3287454309
+ 431.3013069307
+ 432.1386417346
+ 433.8892184809
+ 436.1610064326
+ 437.5816981677
+ 438.6217386563
+ 439.9184422144
+ 441.6831992012
+ 442.9045463026
+ 444.3193362776
+ 446.8606226964
+ 447.4417041945
+ 449.148545685
+ 450.1269457803
+ 451.4033084454
+ 453.9867378067
+ 454.9746837686
+ 456.3284266892
+ 457.9038930641
+ 459.5134152811
+ 460.0879444222
+ 462.0653672749
+ 464.0572869105
+ 465.6715392114
+ 466.5702869308
+ 467.4390462103
+ 469.5360045591
+ 470.7736554781
+ 472.7991746619
+ 473.8352323451
+ 475.6003393694
+ 476.7690152375
+ 478.0752637667
+ 478.9421815346
+ 481.8303393763
+ 482.834782791
+ 483.8514272125
+ 485.5391481294
+ 486.5287182617
+ 488.38056709
+ 489.661761578
+ 491.3988215937
+ 493.3144415818
+ 493.9579978054
+ 495.3588288221
+ 496.4296962158
+ 498.5807824297
+ 500.3090849417
+ 501.6044469651
+ 502.2762703271
+ 504.4997733134
+ 505.4152317422
+ 506.4641527095
+ 508.8007003365
+ 510.2642279437
+ 511.5622897004
+ 512.6231445314
+ 513.6689855555
+ 515.4350571673
+ 517.5896685725
+ 518.2342231476
+ 520.1063104117
+ 521.5251934495
+ 522.4566961777
+ 523.960530892
+ 525.0773856873
+ 527.9036416013
+ 528.4062138523
+ 529.8062263187
+ 530.866917884
+ 532.6881830283
+ 533.7796307538
+ 535.6643140759
+ 537.0697590831
+ 538.4285261762
+ 540.2131663762
+ 540.6313902473
+ 541.8474371212
+ 544.323890101
+ 545.6368332489
+ 547.0109120581
+ 547.9316133645
+ 549.4975675627
+ 550.9700100395
+ 552.0495722006
+ 553.7649721192
+ 555.7920205617
+ 556.8994764069
+ 557.5646591721
+ 559.3162370287
+ 560.2408074973
+ 562.559207616
+ 564.1608791108
+ 564.5060559381
+ 566.6987876828
+ 567.7317579012
+ 568.9239551796
+ 570.0511147825
+ 572.4199841325
+ 573.6146105268
+ 575.0938860145
+ 575.8072471409
+ 577.0390034721
+ 579.098834672
+ 580.1369593624
+ 581.9465762659
+ 583.2360882192
+ 584.5617059035
+ 585.984563205
+ 586.7427718913
+ 588.1396632662
+ 590.6603975168
+ 591.725858065
+ 592.5713583002
+ 593.9747146822
+ 595.7281536974
+ 596.3627683284
+ 598.4930773462
+ 599.5456403644
+ 601.6021367359
+ 602.5791678864
+ 603.6256189036
+ 604.6162184938
+ 606.3834604221
+ 608.4132173112
+ 609.3895751547
+ 610.8391629377
+ 611.7742096209
+ 613.5997786756
+ 614.6462378722
+ 615.5385633694
+ 618.1128313664
+ 619.184482598
+ 620.2728936722
+ 621.7092945279
+ 622.3750027398
+ 624.2699000182
+ 626.0192834277
+ 627.2683968508
+ 628.3258623595
+ 630.4738874383
+ 630.8057809272
+ 632.2251411671
+ 633.5468582523
+ 635.5238003106
+ 637.3971931598
+ 637.9255139808
+ 638.9279382669
+ 640.6947946688
+ 641.9454996657
+ 643.2788837814
+ 644.9905782297
+ 646.3481915955
+ 647.7617530043
+ 648.7864008888
+ 650.1975193453
+ 650.6686838914
+ 653.6495716054
+ 654.3019205863
+ 655.7094630224
+ 656.9640845995
+ 658.1756144186
+ 659.663845973
+ 660.7167325953
+ 662.2965864311
+ 664.2446046523
+ 665.3427630956
+ 666.5151477042
+ 667.1484948946
+ 668.9758488202
+ 670.3235852059
+ 672.4581835842
+ 673.0435782861
+ 674.3558978101
+ 676.1396743636
+ 677.2301806688
+ 677.8004447462
+ 679.7421978825
+ 681.8949915332
+ 682.6027350198
+ 684.0135498139
+ 684.9726298621
+ 686.1632235877
+ 687.9615431847
+ 689.3689413623
+ 690.4747350324
+ 692.4516844155
+ 693.1769700606
+ 694.5339086999
+ 695.7263359209
+ 696.6260699003
+ 699.132095476
+ 700.2967391321
+ 701.3017429546
+ 702.2273431458
+ 704.0338392955
+ 705.1258139546
+ 706.1846547995
+ 708.2690708851
+ 709.2295885703
+ 711.1302741797
+ 711.9002899144
+ 712.7493834701
+ 714.0827718207
+ 716.1123964541
+ 717.4825697031
+ 718.7427865455
+ 719.6971009884
+ 721.3511622185
+ 722.2775049757
+ 723.8458210451
+ 724.5626138904
+ 727.05640323
+ 728.4054815889
+ 728.7587497956
+ 730.4164821228
+ 731.4173549186
+ 732.8180527145
+ 734.7896432524
+ 735.7654592086
+ 737.0529289123
+ 738.5804211714
+ 739.909523674
+ 740.5738074473
+ 741.7573355729
+ 743.8950131425
+ 745.3449895506
+ 746.4993058994
+ 747.6745636243
+ 748.2427544651
+ 750.6559503621
+ 750.9663810667
+ 752.8876215672
+ 754.3223704717
+ 755.839308976
+ 756.76824844
+ 758.1017292464
+ 758.9002382249
+ 760.2823669835
+ 762.7000332497
+ 763.5930661728
+ 764.3075227242
+ 766.0875400998
+ 767.2184721555
+ 768.2814618065
+ 769.6934072526
+ 771.0708393137
+ 772.9616175658
+ 774.1177446279
+ 775.0478470966
+ 775.9997119632
+ 777.2997485296
+ 779.1570769492
+ 780.3489250042
+ 782.1376643908
+ 782.5979439461
+ 784.2888226125
+ 785.7390897007
+ 786.4611474505
+ 787.4684638159
+ 790.0590923641
+ 790.8316204679
+ 792.4277076086
+ 792.8886525626
+ 794.4837918699
+ 795.6065961562
+ 797.263470038
+ 798.7075701663
+ 799.6543362109
+ 801.604246463
+ 802.5419848784
+ 803.2430962043
+ 804.7622391127
+ 805.8616356671
+ 808.151814936
+ 809.1977833633
+ 810.0818048864
+ 811.1843588465
+ 812.7711083891
+ 814.0459136075
+ 814.8705396259
+ 816.7277377144
+ 818.3806688664
+ 819.2046421708
+ 820.7218984439
+ 821.7134541334
+ 822.1977574934
+ 824.5262938716
+ 826.0392873766
+ 826.9058109541
+ 828.3401743005
+ 829.4370109683
+ 830.8958840533
+ 831.7997776591
+ 833.0036409092
+ 834.6519151478
+ 836.6935761876
+ 837.3473350595
+ 838.2490219927
+ 839.4653948103
+ 841.036389829
+ 842.0413542065
+ 844.1661966074
+ 844.8059939758
+ 846.1947699277
+ 847.9717176395
+ 848.4892811809
+ 849.8622743487
+ 850.645448466
+ 853.1631125834
+ 854.0955117199
+ 855.2867102444
+ 856.4841174908
+ 857.3107406026
+ 858.9040264665
+ 860.410670896
+ 861.1710982127
+ 863.1897197719
+ 864.3408239301
+ 865.5946643265
+ 866.423739904
+ 867.6931226118
+ 868.6704942291
+ 870.8469023258
+ 872.1887508216
+ 873.0989789713
+ 873.9083892353
+ 875.9852851088
+ 876.600825833
+ 877.654698341
+ 879.3809519698
+ 880.8346488479
+ 882.3866966272
+ 883.4303318387
+ 884.1987431146
+ 885.2723044796
+ 886.8528019629
+ 888.4755666738
+ 889.7352942941
+ 890.8131321125
+ 892.3864332602
+ 893.1191175673
+ 894.8862923209
+ 895.3979196748
+ 896.6322515562
+ 899.2215226684
+ 899.8588846079
+ 900.8497398605
+ 902.2432075868
+ 903.0996744426
+ 904.7029027223
+ 905.8299407582
+ 907.656729469
+ 908.3335436451
+ 910.1863340572
+ 911.234951486
+ 912.3310456
+ 912.8239992467
+ 914.7300969584
+ 916.3550008086
+ 917.8253775704
+ 918.8365352435
+ 919.4483444397
+ 921.1563955072
+ 922.5006293066
+ 923.2857198024
+ 924.7734839335
+ 926.5515527846
+ 927.8508589858
+ 928.6636593289
+ 929.8740928506
+ 931.0092113366
+ 931.8527407455
+ 934.3853068373
+ 934.9954248638
+ 936.2286493793
+ 937.532925712
+ 939.0243008992
+ 939.6609406145
+ 941.156999642
+ 942.0523416434
+ 944.1880358096
+ 945.333562503
+ 946.7658422047
+ 947.0791830963
+ 948.346646255
+ 950.1516126846
+ 951.0332487338
+ 952.7279886199
+ 954.1297192696
+ 954.8293089382
+ 956.6754793433
+ 957.5100525964
+ 958.4145933901
+ 959.4591688071
+ 961.6695724742
+ 963.1820866713
+ 963.5670401916
+ 965.0555796238
+ 966.1107548184
+ 967.3711537663
+ 968.6363019061
+ 970.1256105569
+ 971.0714914864
+ 973.1853612943
+ 973.8730789927
+ 974.7746350658
+ 976.1785024206
+ 976.9172021171
+ 978.7666715351
+ 980.5780006398
+ 981.2886153018
+ 982.3964851688
+ 983.5750760064
+ 985.1869286558
+ 986.1305151102
+ 986.7560084077
+ 988.9926223707
+ 990.223917804
+ 991.37429414776
+ 992.72869633673
+ 993.21458095744
+ 994.40459057109
+ 996.2053361643
+ 997.51193475194
+ 998.82754713693
+ 999.79157155741
+ 1001.3494826378
+ 1002.4043054884
+ 1003.2678081795
+ 1004.6750441212
+ 1005.5434203044
+ 1008.0067043071
+ 1008.7957099007
+ 1009.806590747
+ 1010.5697570111
+ 1012.4100425158
+ 1013.0586380984
+ 1014.6896326224
+ 1016.0601789426
+ 1017.2664023644
+ 1018.6055725186
+ 1019.9124397439
+ 1020.9174750173
+ 1021.5443444999
+ 1022.8852709117
+ 1025.2657241977
+ 1025.7079443715
+ 1027.4676935156
+ 1028.1289642555
+ 1029.227297444
+ 1030.8973687906
+ 1031.8331802974
+ 1032.8128830352
+ 1034.6129155295
+ 1036.1959173581
+ 1037.0247076463
+ 1038.0877522406
+ 1039.0774014369
+ 1040.2640379377
+ 1041.6215280145
+ 1043.6239543496
+ 1044.5149758291
+ 1045.107042353
+ 1047.0898174843
+ 1047.9871474896
+ 1048.9537851947
+ 1049.9962842566
+ 1051.5765718432
+ 1053.2457851584
+ 1054.7810394783
+ 1055.0021464757
+ 1056.6888473638
+ 1057.1000436596
+ 1059.1337691069
+ 1060.1395185616
+ 1061.5013044651
+ 1062.9153815079
+ 1064.0715510717
+ 1065.1218551063
+ 1066.4632234692
+ 1067.418860121
+ 1067.990000079
+ 1070.5350419968
+ 1071.6186232151
+ 1072.5439980111
+ 1073.5703531651
+ 1074.7477710443
+ 1076.2666255942
+ 1076.9240560658
+ 1078.647198481
+ 1079.8099654293
+ 1081.1710023435
+ 1082.9527497231
+ 1083.2954665141
+ 1084.1832643104
+ 1085.6478312086
+ 1086.9119989898
+ 1088.7557246748
+ 1089.7953379241
+ 1090.8631910262
+ 1091.7284729669
+ 1093.4408732724
+ 1094.2844575238
+ 1095.4330847587
+ 1096.4019177947
+ 1098.8410154666
+ 1099.3606671786
+ 1100.5744606225
+ 1101.8391111688
+ 1102.5517798999
+ 1103.7322971745
+ 1105.6171888308
+ 1106.7743716758
+ 1107.774531955
+ 1109.1589188568
+ 1110.4441429936
+ 1111.4435047649
+ 1112.4329954081
+ 1113.3975951148
+ 1115.0653594616
+ 1116.7872538812
+ 1117.9659196692
+ 1118.684134861
+ 1119.4732474262
+ 1121.1559376758
+ 1122.4586213569
+ 1123.1011173878
+ 1125.3147293978
+ 1125.7634424293
+ 1127.6580235272
+ 1128.4302246139
+ 1129.7289967771
+ 1130.3915978962
+ 1131.4950855619
+ 1133.7086256695
+ 1134.8856545915
+ 1135.5622139755
+ 1136.929293481
+ 1138.1515897798
+ 1138.9923418205
+ 1140.7218481719
+ 1141.2610229641
+ 1142.8586596079
+ 1144.7822995186
+ 1145.4853275171
+ 1146.5768149249
+ 1147.5017765233
+ 1148.6152772088
+ 1149.9826010281
+ 1151.5628147237
+ 1152.9431285306
+ 1153.8903037163
+ 1154.6975195354
+ 1156.6215678339
+ 1157.4323145756
+ 1158.0016090273
+ 1159.480657019
+ 1161.3966446344
+ 1162.487528602
+ 1163.7010316828
+ 1164.7375863512
+ 1165.2712277065
+ 1166.9436134095
+ 1168.0862716101
+ 1169.6983568849
+ 1170.4636385783
+ 1172.1206818657
+ 1173.305687764
+ 1174.2327668565
+ 1175.215452396
+ 1176.6328758098
+ 1177.1063044217
+ 1179.7012235019
+ 1180.6535437871
+ 1181.2673181517
+ 1182.5822703469
+ 1183.712775296
+ 1185.1558428475
+ 1185.8753586954
+ 1187.3451614933
+ 1188.8564442982
+ 1189.9636364979
+ 1191.4826059264
+ 1192.2186114781
+ 1193.3240214275
+ 1193.8574271354
+ 1196.0346717487
+ 1197.0717866588
+ 1198.6865691046
+ 1199.3565137079
+ 1200.5326920312
+ 1201.8103348566
+ 1203.1373508614
+ 1203.8552475941
+ 1204.9854921715
+ 1206.8704997939
+ 1208.4714599495
+ 1208.9894841679
+ 1209.8980300875
+ 1211.4161158928
+ 1212.1131530663
+ 1213.5983726804
+ 1215.389975065
+ 1216.1837220335
+ 1217.1744824977
+ 1219.0500281774
+ 1219.6144713109
+ 1220.816347691
+ 1221.6922424831
+ 1222.9524840951
+ 1225.0183300242
+ 1225.8550207608
+ 1227.2318276415
+ 1227.9171416144
+ 1228.793154363
+ 1230.5846031542
+ 1231.5622738776
+ 1232.5295870406
+ 1234.2778166534
+ 1235.5025485265
+ 1236.3990174658
+ 1237.9772985136
+ 1238.4572327957
+ 1239.4908071468
+ 1240.8134717852
+ 1243.078076398
+ 1243.5381465261
+ 1244.851433967
+ 1245.6558661881
+ 1247.3725619699
+ 1248.0630610532
+ 1249.159887953
+ 1250.6723972757
+ 1251.6598320043
+ 1253.6735778521
+ 1254.4313284218
+ 1255.4082306453
+ 1256.1812141985
+ 1257.5412194126
+ 1258.7792334886
+ 1260.3445483162
+ 1261.6117171615
+ 1262.5566140004
+ 1263.6767328439
+ 1264.957223007
+ 1266.1790377606
+ 1267.2003456118
+ 1267.5705717794
+ 1270.1189218865
+ 1271.1342996316
+ 1272.0839595993
+ 1273.2611446335
+ 1274.1962208895
+ 1275.0920303158
+ 1276.8421715556
+ 1277.7630919863
+ 1279.3328433167
+ 1280.155794409
+ 1281.8287269597
+ 1283.0004913867
+ 1283.3350321389
+ 1284.8547951546
+ 1285.6950233311
+ 1287.4100266171
+ 1289.1653515328
+ 1290.1047715198
+ 1290.417708073
+ 1291.9458709681
+ 1293.4939815574
+ 1294.1184743778
+ 1295.3653635054
+ 1296.8011109923
+ 1298.2565270679
+ 1299.4051712507
+ 1300.4900189824
+ 1301.4955166806
+ 1302.3467423792
+ 1303.2732002288
+ 1305.401672188
+ 1306.508393313
+ 1307.2672421078
+ 1308.9881965176
+ 1309.4215324933
+ 1311.0565705111
+ 1311.966940608
+ 1313.031599369
+ 1314.0525656517
+ 1316.2121126029
+ 1317.0729860348
+ 1318.1712791322
+ 1318.9478805966
+ 1319.9310828775
+ 1321.6281385519
+ 1322.2580671234
+ 1324.2249787188
+ 1325.237624359
+ 1325.9819696304
+ 1327.6352811085
+ 1329.0435179965
+ 1329.2050187855
+ 1330.4299371205
+ 1331.8275913853
+ 1333.6735226103
+ 1334.7473290517
+ 1335.694974526
+ 1336.6901846534
+ 1337.6887918097
+ 1338.9231645987
+ 1340.4264004573
+ 1341.1662722529
+ 1342.6085078838
+ 1344.1560440036
+ 1345.4771062614
+ 1345.7314132554
+ 1347.5194717509
+ 1348.0172380187
+ 1349.085194014
+ 1351.2962063741
+ 1352.2104651592
+ 1353.4833383583
+ 1353.8867819717
+ 1355.6805953206
+ 1356.6056557098
+ 1357.7717428286
+ 1358.4601603992
+ 1360.3931447622
+ 1361.3930747136
+ 1363.0223286033
+ 1363.8791907971
+ 1364.5765848968
+ 1365.4937335513
+ 1367.10409097
+ 1368.330193308
+ 1369.6869490773
+ 1370.9735227678
+ 1371.6865535528
+ 1373.2029145624
+ 1374.1547986586
+ 1375.3023923447
+ 1376.1617799936
+ 1377.1776336421
+ 1379.6832830286
+ 1380.1485784417
+ 1381.0739771492
+ 1382.3456629785
+ 1383.2975910079
+ 1384.4444158478
+ 1385.6637770112
+ 1387.3266476635
+ 1387.9214541271
+ 1389.5658317984
+ 1390.7054902864
+ 1391.8532004433
+ 1392.6440277885
+ 1393.4334017408
+ 1394.8841846757
+ 1396.5441631237
+ 1397.8346233214
+ 1398.8376752014
+ 1399.8394729412
+ 1400.4269462974
+ 1402.5643472501
+ 1402.9737476409
+ 1404.0062921705
+ 1405.6669750592
+ 1407.0851427764
+ 1408.1363074962
+ 1409.3206810798
+ 1410.0248107258
+ 1411.2570568157
+ 1411.9656534618
+ 1413.8431487886
+ 1415.5857847955
+ 1415.7815813033
+ 1417.1028229338
+ 1418.6969638525
+ 1419.422480946
+
+### Analytic rank of elliptic curve 5077a1
+analytic rank equals 3
+
+### run example program
+-----------------------------------------------
+
+Name of L_function: zeta
+All coefficients are equal to 1
+
+Q = 0.564189583548
+OMEGA = (1,0)
+a = 1 (the quasi degree)
+gamma[1] =0.5    lambda[1] =(0,0)
+
+
+number of poles (of the completed L function) = 2
+pole[1] =(1,0)    residue[1] =(1,0)
+pole[2] =(0,0)    residue[2] =(-1,0)
+-----------------------------------------------
+
+-----------------------------------------------
+
+Name of L_function: L4
+number of dirichlet coefficients = 4
+coefficients are periodic
+b[1] = 1
+b[2] = 0
+b[3] = -1
+b[4] = 0
+
+Q = 1.1283791671
+OMEGA = (1,0)
+a = 1 (the quasi degree)
+gamma[1] =0.5    lambda[1] =(0.5,0)
+
+
+number of poles (of the completed L function) = 0
+-----------------------------------------------
+
+-----------------------------------------------
+
+Name of L_function: L5
+number of dirichlet coefficients = 5
+coefficients are periodic
+b[1] = (1,0)
+b[2] = (0,1)
+b[3] = (-0,-1)
+b[4] = (-1,0)
+b[5] = (0,0)
+
+Q = 1.26156626101
+OMEGA = (0.850650808352,0.525731112119)
+a = 1 (the quasi degree)
+gamma[1] =0.5    lambda[1] =(0.5,0)
+
+
+number of poles (of the completed L function) = 0
+-----------------------------------------------
+
+zeta(0.5,0) = (-1.46035450881,0)
+L4(0.5,0) = (0.6676914571896,0)
+L5(0.5,0) = (0.7637478801173,0.2169647675189)
+L4(1,0) = (0.7853981633975,0)
+L5(1,0) = (0.8648062659772,0.2041530661384)
+0.4285714285714
+1.5
+0.1666666666667
+0.6666666666667
+0.5714285714286
+0
+0.5714285714286
+0.5714285714286
+0
+0.8888888888889
+6.123233995737e-17
+-0.7071067811865
+
+### test data files: zeros of data_mass
+ 2.89772467827
+ 5.59124531532
+ 21.09037750873
+ 23.15751048459
+ 25.43930038984
+ 29.18920671354
+ 31.06173948455
+ 32.45271823746
+ 34.02727968404
+ 36.93123719687
+ 38.98709821794
+ 40.46554901427
+ 41.68511034313
+ 43.05108147996
+ 45.22036201604
+ 47.66072427933
+ 48.81796648431
+ 49.79846517638
+ 51.37514501231
+ 52.55988761653
+
+### test data files: zeros of data_tau
+ 9.222379399921
+ 13.90754986139
+ 17.44277697823
+ 19.65651314195
+ 22.33610363721
+ 25.27463654811
+ 26.80439115835
+ 28.83168262419
+ 31.17820949836
+ 32.77487538223
+ 35.19699584121
+ 36.74146297671
+ 37.75391597562
+ 40.21903437422
+ 41.73049228931
+ 43.59174123558
+ 45.04007921378
+ 46.19731875314
+ 48.35905247802
+ 49.27605353656
+ 51.15656028144
+ 53.06671423543
+ 54.09995263156
+ 55.21778745348
+ 56.71529404473
+ 58.58016100791
+ 59.78593800332
+ 61.13672295793
+ 62.66499232631
+ 64.08664571893
+ 64.84864127983
+ 66.49476926719
+ 67.93860977475
+ 69.04339787489
+ 71.11465341425
+ 71.74750419617
+ 72.81406066759
+ 74.09582544002
+ 75.77216168976
+ 77.10183189349
+ 77.68461125026
+ 79.79293909124
+ 80.5601920681
+ 82.00757620452
+ 82.84252583957
+ 83.97564035576
+ 85.46221814858
+ 86.75597218826
+ 88.07513099426
+ 89.02289034074
+ 90.45103289616
+ 91.11271853147
+ 92.44292549472
+ 93.76912394744
+ 95.13807853977
+ 95.62492107705
+ 97.34104088985
+ 98.709804088181
+ 99.746648900304
+ 100.22461499968
+ 101.34359353371
+ 103.16663591564
+ 103.81733899745
+ 105.22181333799
+ 106.2938221342
+ 107.42670755393
+ 108.47543790164
+ 109.39169607603
+ 110.709662684
+ 111.53473540164
+ 112.75715359897
+ 113.84343404772
+ 115.06276556053
+ 116.4634839837
+ 117.11654084727
+ 118.14687073685
+ 119.08216779665
+ 119.99454209524
+ 121.78633067852
+ 122.55731782503
+ 123.21241716312
+ 124.60624049117
+ 125.9428934493
+ 126.75939204587
+ 127.55580316015
+ 128.62383894451
+ 129.60342208413
+ 130.9485924074
+ 131.70819904812
+ 132.96854278614
+ 134.34729668877
+ 135.07869588874
+ 135.55289998753
+ 137.090334711
+ 137.70022292032
+ 139.28400855168
+ 139.93658439006
+ 140.89653322681
+ 142.14115198902
+ 143.08355526348
+ 144.3547263694
+ 145.16531200641
+ 146.1487705718
+ 146.40978836463
+ 148.11775412261
+ 149.04126788157
+ 150.27507429698
+ 150.90642375398
+ 152.13443437848
+ 153.11514719403
+ 154.05182909662
+ 154.79531222958
+ 155.73207939114
+ 157.09578319229
+ 157.91275288651
+ 158.66081392258
+ 159.66861391034
+ 161.30637028119
+ 161.85035860513
+ 162.87145492254
+ 163.5474941088
+ 164.3389052284
+ 165.6101228958
+ 166.5807970057
+ 167.6436347091
+ 168.6591247847
+ 169.2457741065
+ 170.5979320488
+ 171.4664999977
+ 172.2169267498
+ 173.5242528689
+ 173.9134135057
+ 174.8765292772
+ 176.1665777917
+ 177.2078297826
+ 177.6927239362
+ 179.2467652208
+ 180.0763485343
+ 180.763679308
+ 181.7354944856
+ 182.2024919488
+ 183.5234365784
+ 184.7663025824
+ 185.4918147412
+ 186.2444170036
+ 187.0757402666
+ 188.5368725277
+ 189.2689736566
+ 190.183009487
+ 190.9583656893
+ 191.6328149027
+ 192.7925002062
+ 193.5481111769
+ 194.837180509
+ 195.4071279189
+ 196.8654811
+ 197.4600122758
+ 198.1569402301
+ 199.3112321519
+ 200.1461412029
+ 200.7860427714
+ 201.843714962
+ 203.1511121528
+ 203.536310991
+ 204.5123933434
+ 205.6235312757
+ 206.4551567297
+ 207.846761068
+ 208.3443022524
+ 208.8862430002
+ 209.7545253738
+ 210.7039058347
+ 211.9648793319
+ 212.9829738766
+ 213.4280929692
+ 214.4386923504
+ 215.5826154495
+ 216.423719513
+ 217.1374984504
+ 217.8974922792
+ 219.0577593492
+ 219.6196634032
+ 220.8424853007
+ 221.2983798027
+ 222.4923346026
+ 223.3196639866
+ 224.4885153001
+ 225.2978104732
+ 226.1301840738
+ 226.6142171531
+ 227.6019259102
+ 228.5023298788
+ 229.309991752
+ 230.57189985
+ 231.3567694302
+ 232.0759318125
+ 232.6653058039
+ 234.1010064029
+ 234.8267446127
+ 235.74710144
+ 236.3093063595
+ 237.3473335472
+ 237.6450888275
+ 239.289059163
+ 239.8992460699
+ 240.4924083209
+ 241.8682289971
+ 242.570187861
+ 243.7263550403
+ 243.9341977649
+ 245.0890157105
+ 245.5943279944
+ 246.6926898485
+ 247.8638440831
+ 248.4749527797
+ 249.1617534962
+ 250.0852489562
+ 251.0710985655
+ 252.2017418298
+ 252.763898597
+ 253.6220781406
+ 254.636456582
+ 255.0804799369
+ 255.6503879912
+ 257.1157213659
+ 257.8064380484
+ 258.8193362763
+ 259.5597420518
+ 260.3196678497
+ 261.3765190186
+ 261.9559808789
+ 263.2167448602
+ 263.4609411671
+ 264.333389913
+ 265.5303740019
+ 266.1943306679
+ 267.0749849987
+ 267.9143130553
+ 268.5129542542
+ 269.8286792243
+ 270.8988961225
+ 271.4162122773
+ 271.7926935992
+ 272.7023215418
+ 273.6244064675
+ 274.5969844018
+ 275.4098195361
+ 276.5361690897
+ 276.9253544225
+ 277.8396903879
+ 278.9549020578
+ 279.5595175681
+ 280.4631782672
+ 281.329358549
+ 281.989594894
+ 282.7955544863
+ 283.5803955395
+ 284.3899259683
+ 285.3270241537
+ 286.391637452
+ 286.856599307
+ 288.053289884
+ 288.8006650626
+ 289.542732101
+ 290.1350782102
+ 291.101338116
+ 291.5382880479
+ 292.7113897787
+ 293.9381254377
+ 294.3724290565
+ 295.0297012071
+ 295.6922564133
+ 297.2842177677
+ 297.5534155805
+ 298.6305678823
+ 299.4765749055
+ 299.8355700865
+ 300.6053092776
+ 301.5784501395
+ 302.6077895528
+ 303.338282435
+ 303.9688372747
+ 305.1095949091
+ 306.0720603098
+ 306.4583488649
+ 307.3518759722
+ 308.2187292243
+ 308.7765237235
+ 309.843954242
+ 310.5622090525
+ 311.2325407073
+ 312.4969547628
+ 312.7215429826
+ 313.7660202434
+ 314.6279086185
+ 315.6181024136
+ 316.4577129805
+ 317.0960150769
+ 317.7914075384
+ 318.3616944674
+ 319.0690896988
+ 320.2426837231
+ 321.2416146557
+ 321.8138419056
+ 322.6315783665
+ 323.4360729966
+ 324.0061027022
+ 325.5738331178
+ 325.7479417843
+ 326.3286660475
+ 327.3678299142
+ 328.1230302867
+ 329.0257388381
+ 329.658141759
+ 330.4848328263
+ 331.3228769708
+ 332.0708905071
+ 333.2490196451
+ 334.0835689792
+ 334.3972950425
+ 335.3045870282
+ 335.8778298615
+ 336.9065217434
+ 337.3867493912
+ 338.5895326087
+ 339.36876123
+ 340.067355744
+ 340.7148879606
+ 341.6493355687
+ 342.3800601324
+ 343.3260341321
+ 344.1094216926
+ 344.898361981
+ 345.5424536678
+ 345.9837371779
+ 346.8525389262
+ 348.0322080089
+ 348.6820197512
+ 349.553089947
+ 350.0319040263
+ 351.28960164
+ 351.9730519484
+ 352.7440783264
+ 353.1107490671
+ 354.0570557411
+ 354.9855222604
+ 355.2922238613
+ 356.8338668125
+ 357.4425566582
+ 357.7031585097
+ 358.6071448756
+ 359.6318917814
+ 360.529956209
+ 361.4460080487
+ 361.835939688
+ 362.9109338715
+ 363.2059203685
+ 364.0228859107
+ 364.8890717283
+ 365.7941219473
+ 366.3946310163
+ 367.673032655
+ 368.1154302097
+ 368.7373188992
+ 369.7778301412
+ 370.4275144261
+ 371.2020690388
+ 372.0496199652
+ 372.6107172183
+ 373.3200722486
+ 374.3113862667
+ 374.9243466649
+ 375.8449583875
+ 376.5412950432
+ 377.1835802572
+ 378.1164551309
+ 379.2793078941
+ 379.6929732133
+ 380.5776722324
+ 381.1774071699
+ 381.3492984959
+ 382.5430013711
+ 383.5919971027
+ 384.2670525581
+ 385.0510712163
+ 385.7574243736
+ 386.3420931504
+ 387.3373820285
+ 388.178605882
+ 388.9973676622
+ 389.3990336151
+ 390.3466532774
+ 391.1159227001
+ 391.7784046796
+ 392.3140308101
+ 393.3171989127
+ 394.3868425001
+ 394.5399598806
+ 395.7471548949
+ 396.7547231083
+ 397.1807480369
+ 397.8266928791
+ 398.6963498691
+ 399.410855365
+ 400.1592344328
+ 400.4886536787
+ 401.9200307113
+ 402.4204792092
+ 403.4792667242
+ 403.8196349588
+ 404.3622957518
+ 405.5873310222
+ 406.4105028833
+ 407.1690726594
+ 407.936718736
+ 408.2753097467
+ 409.0928595592
+ 409.756711946
+ 410.5601675382
+ 411.7836485129
+ 412.1003585138
+ 412.9909693929
+ 413.6693598069
+ 414.8388470742
+ 415.2601024032
+ 415.9258006044
+ 416.8249176263
+ 417.3019624029
+ 418.1071018321
+ 419.0749538439
+ 419.6836233385
+ 420.5464642084
+ 421.0717682948
+ 421.7948585105
+ 422.9097886826
+ 423.4843519255
+ 424.1849816321
+ 425.4269555222
+ 425.7244703918
+ 426.3130294323
+ 426.9277273908
+ 427.9032509045
+ 428.3549687941
+ 429.5665602469
+ 430.2946165983
+ 430.9899218068
+ 431.7133442405
+ 432.1270106631
+ 433.302690053
+ 433.9677033632
+ 434.7562935884
+ 435.2921766875
+ 436.2409315236
+ 436.4745702407
+ 437.5201512612
+ 438.4315260285
+ 439.1392629552
+ 439.4946176433
+ 440.5637942063
+ 441.3004870257
+ 442.3624551689
+ 443.0119244634
+ 443.5001164934
+ 443.972496073
+ 444.870611287
+ 445.6034828587
+ 446.3573771416
+ 447.1729484623
+ 448.0916398015
+ 448.6875613652
+ 449.3107759589
+ 449.9538530656
+ 451.0168035029
+ 451.7600259829
+ 452.3466911118
+ 453.0511188508
+ 454.0821798329
+ 454.44853114
+ 454.9499653675
+ 455.7206618436
+ 456.8053468352
+ 457.737178687
+ 457.9627565758
+ 459.0701009815
+ 459.671372983
+ 460.5695936199
+ 461.1466034987
+ 462.057394796
+ 462.3806309246
+ 463.2589055236
+ 463.7405482997
+ 464.8907178657
+ 465.7444357651
+ 466.1431406005
+ 466.8457443575
+ 467.6995428623
+ 468.1858650096
+ 469.4242322641
+ 470.2470663986
+ 470.632742058
+ 471.2762765664
+ 472.0853674123
+ 472.5529897442
+ 473.2178548669
+ 474.5271591927
+ 474.7927674814
+ 475.6705828315
+ 476.5344223262
+ 477.2231058871
+ 478.0017010518
+ 478.5493401775
+ 479.2761504172
+ 480.1909877699
+ 480.8777358595
+ 481.2823090642
+ 482.2318739581
+ 482.8283347184
+ 483.8478239232
+ 484.0400298822
+ 485.4694583119
+ 485.5953266191
+ 486.4293767199
+ 487.5900376226
+ 488.211583768
+ 488.7669723707
+ 489.6497600134
+ 489.9058984976
+ 490.5665522955
+ 491.5669708503
+ 492.1540748274
+ 493.4235293344
+ 493.9557783289
+ 494.3044354588
+ 494.9581999027
+ 495.9770107757
+ 496.9369560649
+ 497.4254399269
+ 498.0590027016
+ 498.8883173132
+ 499.4256062698
+ 500.1922122541
+ 500.8130967713
+ 501.6671459939
+ 502.2461898094
+ 503.2198027716
+ 503.6924652613
+ 504.7108959469
+ 505.3921039021
+ 506.2059663774
+ 506.779902007
+ 507.122200488
+ 508.1498959856
+ 508.7030083139
+ 509.6589270955
+ 509.9262423147
+ 511.1672837687
+ 511.8440280087
+ 512.3725751341
+ 512.9023170055
+ 513.8118007869
+ 514.7026839653
+ 515.2818401225
+ 516.288582045
+ 516.8168143226
+ 517.4399630057
+ 517.6980824848
+ 518.5157058242
+ 519.6593828202
+ 520.2050178374
+ 521.1153821745
+ 521.556609138
+ 522.3987628217
+ 523.2884492583
+ 523.7426510586
+ 524.6670082532
+ 525.3169714212
+ 525.8430761523
+ 526.3966398408
+ 527.3364604715
+ 528.1087348605
+ 528.8023083549
+ 529.4906043154
+ 530.0652382711
+ 530.688238201
+ 531.6407074272
+ 532.6285805167
+ 532.9806498884
+ 534.0334296322
+ 534.4092441631
+ 534.9792072748
+ 535.9634526077
+ 536.2247715823
+ 536.993367906
+ 538.0713781815
+ 538.7983796168
+ 539.3652424452
+ 540.1792739855
+ 540.8757169457
+ 541.2147076142
+ 542.3276545663
+ 543.0916763147
+ 543.6891780917
+ 544.1813507955
+ 545.0293563831
+ 545.7728940077
+ 546.0353104691
+ 547.1758033702
+ 547.8290543163
+ 548.695012734
+ 549.0170325921
+ 549.7836611539
+ 551.0217342631
+ 551.7080761102
+ 552.0283049181
+ 552.5480712559
+ 553.2979027587
+ 554.169452465
+ 554.5005752598
+ 555.6667852599
+ 556.3780490535
+ 557.0468370642
+ 557.4580781764
+ 558.4520689557
+ 558.7954256711
+ 560.0492291097
+ 560.4674899656
+ 561.202446462
+ 562.0387210723
+ 562.4486290956
+ 563.2225688205
+ 563.8354849359
+ 564.37761433
+ 565.3131129716
+ 566.0714711421
+ 566.7437544135
+ 567.5904646345
+ 568.1695453876
+ 568.8345731712
+ 569.7544549057
+ 570.1254948436
+ 570.9138176242
+ 571.756687239
+ 572.1479785473
+ 572.6724247839
+ 573.7931388244
+ 574.657757711
+ 575.0897369417
+ 575.6618469341
+ 576.2441114677
+ 577.2600813089
+ 577.976004581
+ 578.7528172084
+ 579.5615552965
+ 580.0131664726
+ 580.5370290842
+ 581.2054055556
+ 581.5964993952
+ 583.0180045495
+ 583.3127136797
+ 584.0842967758
+ 584.9173723789
+ 585.6489028533
+ 585.9766036081
+ 587.1646847002
+ 587.6518722029
+ 588.2803287035
+ 588.8046774763
+ 589.8422420162
+ 590.2650595054
+ 591.0246435458
+ 591.6709281049
+ 592.3144660519
+ 593.0635253283
+ 593.8611857051
+ 594.5042402355
+ 595.0425842537
+ 596.3164027673
+ 596.4832760844
+ 597.4668841687
+ 598.0686701066
+ 598.5163375553
+ 599.088985808
+ 599.8724924494
+ 600.590372786
+ 601.3911329161
+ 602.2984252947
+ 602.9818380952
+ 603.4126135135
+ 603.833028865
+ 604.808460113
+ 605.7677254319
+ 606.3669696952
+ 607.1057762699
+ 607.4116309095
+ 608.1614285363
+ 609.053964657
+ 609.3949560148
+ 610.2284496929
+ 611.152994214
+ 611.6669694346
+ 612.2618139833
+ 613.0526664738
+ 614.2345951373
+ 614.502885248
+ 615.120794419
+ 615.7444748144
+ 616.5707917567
+ 617.0151078002
+ 617.7934565735
+ 618.4313130811
+ 619.3839838155
+ 620.0510108515
+ 620.4792229126
+ 621.2266252288
+ 622.0122890334
+ 622.639192718
+ 623.3591842295
+ 624.2776924812
+ 624.7358509773
+ 625.783241064
+ 625.8878893225
+ 626.6289872637
+ 627.1707375404
+ 627.8654595271
+ 628.9545412652
+ 629.6936197945
+ 630.1928770806
+ 630.6830957996
+ 631.6694288012
+ 632.3290416465
+ 632.8917506833
+ 633.6643616214
+ 634.3820086937
+ 634.8660702935
+ 635.3984422438
+ 636.2834873426
+ 636.9518024761
+ 637.8091595766
+ 638.3721344383
+ 638.8595131416
+ 639.4860794577
+ 640.5345455773
+ 641.0289443115
+ 642.1184975814
+ 642.6251032735
+ 643.0540591474
+ 643.7767417037
+ 644.0976179975
+ 645.195944393
+ 645.6921996602
+ 646.3228306082
+ 647.2403173592
+ 647.9614051035
+ 648.7323963272
+ 649.0161354724
+ 649.940138733
+ 650.406070262
+ 651.5422398424
+ 651.9578549588
+ 652.4076481383
+ 653.5761694226
+ 653.918956636
+ 654.2662503541
+ 655.1399416162
+ 656.1436522637
+ 656.4636345019
+ 657.355870447
+ 658.09679873
+ 658.5258638413
+ 659.469853767
+ 660.300762664
+ 660.8466019912
+ 661.4397604223
+ 661.8026206421
+ 662.5387604177
+ 663.2456368532
+ 663.9619087758
+ 665.0177946402
+ 665.4343037606
+ 666.123965049
+ 666.7657722667
+ 667.0747650385
+ 668.2104288865
+ 669.1515803844
+ 669.4421337627
+ 670.0808998901
+ 670.9525873037
+ 671.5549805474
+ 671.9640453313
+ 672.5914341134
+ 673.3458495361
+ 674.2882714466
+ 674.7932432583
+ 675.3811482285
+ 676.3793128206
+ 676.8747866226
+ 677.8535749111
+ 678.03721085
+ 678.7869852975
+ 679.6347513692
+ 680.2060748237
+ 680.8853194008
+ 681.2775043262
+ 682.1813201039
+ 682.9616335889
+ 683.5862451423
+ 684.280354746
+ 684.7611190712
+ 685.5554040746
+ 686.0268621626
+ 687.2333679383
+ 687.8630588617
+ 688.2695164282
+ 688.9700274893
+ 689.4887967334
+ 690.0287719359
+ 690.6234223665
+ 691.5283764461
+ 692.4881150453
+ 692.9086190681
+ 693.5965975886
+ 694.3144158553
+ 694.7886862017
+ 695.706850225
+ 696.4535916702
+ 696.8464986531
+ 697.792865264
+ 698.0906314358
+ 698.8476393335
+ 699.4912465351
+ 700.5716146347
+ 700.9048650841
+ 701.0973114665
+ 702.4463033628
+ 702.8327132509
+ 703.6167875189
+ 704.2303074719
+ 705.2893867465
+ 705.6100290328
+ 706.4019215452
+ 706.8168622372
+ 707.5134864183
+ 708.14584178
+ 708.7245834922
+ 709.4584356982
+ 710.2537137971
+ 711.1578646007
+ 711.7343823259
+ 712.0915771661
+ 712.6720043985
+ 713.7013789674
+ 714.1899433337
+ 715.0295363716
+ 715.8007336791
+ 716.2375626737
+ 716.9412604664
+ 717.2260850134
+ 718.1099004028
+ 718.6855143901
+ 719.6953824621
+ 720.3065676052
+ 720.6426884544
+ 721.4343053846
+ 722.3911416324
+ 722.9581490313
+ 723.8102637476
+ 724.0895792528
+ 724.9024584572
+ 725.1346147542
+ 726.2591473856
+ 726.6876042148
+ 727.3421515487
+ 728.2868630863
+ 728.8570402933
+ 729.4899639716
+ 730.0000943004
+ 730.5143943855
+ 731.6790844739
+ 732.3188243846
+ 732.6408854887
+ 733.5993896596
+ 734.1926807074
+ 734.856425002
+ 735.1901397363
+ 735.8741571034
+ 736.4295680899
+ 737.4705269107
+ 738.0388155975
+ 738.7350991619
+ 739.6950091845
+ 739.8438580846
+ 740.6032526517
+ 741.3750965284
+ 742.1010509211
+ 742.8563498819
+ 743.2580960816
+ 743.7871278817
+ 744.5214145137
+ 745.4082167245
+ 745.7006663497
+ 746.8493598724
+ 747.1118097607
+ 747.9556170627
+ 748.3071752408
+ 749.2477834966
+ 749.9539208565
+ 750.8621488749
+ 751.4165224271
+ 751.9854397139
+ 752.2691457493
+ 753.0158221848
+ 753.6067329909
+ 754.4477840392
+ 755.0695423481
+ 756.013465277
+ 756.3641990433
+ 757.0554832637
+ 757.8455316437
+ 758.5776717492
+ 758.8189289195
+ 759.8444806885
+ 760.5868520791
+ 760.9449038594
+ 761.7033478585
+ 762.4679225516
+ 762.9521388316
+ 763.4121816223
+ 764.2191940587
+ 764.8584398118
+ 765.7030582987
+ 766.3246054396
+ 766.8945393521
+ 767.4804863344
+ 768.549898282
+ 769.0724248217
+ 769.5598768844
+ 770.0075906714
+ 771.0511304086
+ 771.3618087961
+ 771.8554828074
+ 772.5415406394
+ 773.8316592955
+ 774.2342778298
+ 774.7121075155
+ 775.3977269092
+ 775.7841964027
+ 776.676090059
+ 777.5797066335
+ 778.2137968534
+ 778.7982728617
+ 779.3479665709
+ 779.9564449568
+ 780.5976969005
+ 781.054592128
+ 781.7892488953
+ 782.654818633
+ 783.0854269616
+ 783.9954790778
+ 784.6200582001
+ 785.0110937334
+ 786.2620308904
+ 786.4061120117
+ 787.3698462696
+ 787.5202801538
+ 788.5147336006
+ 789.0171619529
+ 789.7149272017
+ 790.4017218435
+ 790.83461823
+ 791.8454601846
+ 792.3229475541
+ 792.8555690461
+ 793.6824817862
+ 794.2494604355
+ 794.8643478829
+ 795.7108659659
+ 796.3599628579
+ 797.2415727207
+ 797.5367495806
+ 798.2405842527
+ 798.4808445315
+ 799.1140258006
+ 800.1561392321
+ 800.8559394303
+ 801.3394717495
+ 802.303512687
+ 802.7583089762
+ 803.3028993871
+ 803.8165934026
+ 804.8119519437
+ 805.583201496
+ 805.8640060142
+ 806.6989178963
+ 807.0969015865
+ 807.842135501
+ 808.5551619242
+ 809.0614773183
+ 809.9220540855
+ 810.4394871581
+ 810.954253284
diff --git a/srcpkgs/lcalc/files/test.out b/srcpkgs/lcalc/files/test.out
new file mode 100644
index 000000000000..edae9c7f9381
--- /dev/null
+++ b/srcpkgs/lcalc/files/test.out
@@ -0,0 +1,2102 @@
+### First 1000 zeros of zeta function
+ 14.13472514173
+ 21.02203963877
+ 25.01085758015
+ 30.42487612586
+ 32.93506158774
+ 37.58617815883
+ 40.91871901215
+ 43.32707328091
+ 48.00515088117
+ 49.77383247767
+ 52.97032147771
+ 56.44624769706
+ 59.3470440026
+ 60.83177852461
+ 65.11254404808
+ 67.07981052949
+ 69.54640171117
+ 72.06715767448
+ 75.70469069908
+ 77.14484006887
+ 79.33737502025
+ 82.91038085409
+ 84.73549298052
+ 87.42527461313
+ 88.80911120763
+ 92.49189927056
+ 94.65134404052
+ 95.87063422825
+ 98.831194218194
+ 101.31785100573
+ 103.72553804048
+ 105.44662305233
+ 107.16861118428
+ 111.02953554317
+ 111.87465917699
+ 114.32022091545
+ 116.22668032086
+ 118.79078286598
+ 121.37012500242
+ 122.94682929355
+ 124.25681855435
+ 127.5166838796
+ 129.57870419996
+ 131.08768853093
+ 133.497737203
+ 134.75650975337
+ 138.11604205453
+ 139.73620895212
+ 141.12370740402
+ 143.11184580762
+ 146.00098248677
+ 147.42276534256
+ 150.05352042078
+ 150.92525761224
+ 153.0246938112
+ 156.11290929424
+ 157.59759181759
+ 158.84998817142
+ 161.1889641376
+ 163.03070968718
+ 165.5370691879
+ 167.1844399782
+ 169.0945154156
+ 169.9119764794
+ 173.4115365196
+ 174.7541915234
+ 176.4414342977
+ 178.3774077761
+ 179.9164840203
+ 182.2070784844
+ 184.8744678484
+ 185.5987836777
+ 187.2289225835
+ 189.416158656
+ 192.0266563607
+ 193.0797266038
+ 195.2653966795
+ 196.876481841
+ 198.0153096763
+ 201.2647519437
+ 202.4935945141
+ 204.1896718031
+ 205.3946972022
+ 207.9062588878
+ 209.5765097169
+ 211.6908625954
+ 213.3479193597
+ 214.5470447835
+ 216.1695385083
+ 219.067596349
+ 220.7149188393
+ 221.4307055547
+ 224.0070002546
+ 224.9833246696
+ 227.4214442797
+ 229.3374133055
+ 231.2501887005
+ 231.9872352532
+ 233.6934041789
+ 236.5242296658
+ 237.7698204809
+ 239.5554775733
+ 241.0491577962
+ 242.8232719342
+ 244.0708984971
+ 247.1369900749
+ 248.1019900601
+ 249.5736896447
+ 251.014947795
+ 253.069986748
+ 255.3062564549
+ 256.3807136944
+ 258.6104394915
+ 259.8744069897
+ 260.8050845046
+ 263.5738939049
+ 265.5578518389
+ 266.6149737815
+ 267.9219150828
+ 269.970449024
+ 271.4940556416
+ 273.4596091884
+ 275.5874926493
+ 276.4520495031
+ 278.2507435298
+ 279.2292509277
+ 282.4651147651
+ 283.2111857332
+ 284.8359639809
+ 286.667445363
+ 287.9119205014
+ 289.5798549292
+ 291.8462913291
+ 293.5584341394
+ 294.9653696193
+ 295.573254879
+ 297.9792770619
+ 299.8403260537
+ 301.6493254622
+ 302.6967495896
+ 304.8643713409
+ 305.728912602
+ 307.2194961282
+ 310.1094631467
+ 311.1651415304
+ 312.4278011806
+ 313.9852857312
+ 315.4756160895
+ 317.7348059424
+ 318.8531042563
+ 321.1601343091
+ 322.1445586725
+ 323.4669695575
+ 324.8628660517
+ 327.4439012619
+ 329.0330716805
+ 329.9532397282
+ 331.4744675827
+ 333.6453785249
+ 334.2113548332
+ 336.8418504284
+ 338.3399928508
+ 339.8582167254
+ 341.042261111
+ 342.0548775104
+ 344.6617029403
+ 346.347870566
+ 347.2726775844
+ 349.3162608707
+ 350.4084193492
+ 351.8786490254
+ 353.4889004887
+ 356.0175749773
+ 357.151302252
+ 357.9526851016
+ 359.7437549531
+ 361.2893616958
+ 363.331330579
+ 364.7360241141
+ 366.2127102883
+ 367.9935754817
+ 368.9684380957
+ 370.0509192121
+ 373.0619283721
+ 373.8648739109
+ 375.8259127667
+ 376.3240922307
+ 378.43668025
+ 379.8729753465
+ 381.4844686172
+ 383.4435294495
+ 384.9561168149
+ 385.861300846
+ 387.2228902224
+ 388.8461283542
+ 391.4560835636
+ 392.2450833395
+ 393.4277438444
+ 395.582870011
+ 396.3818542226
+ 397.9187362096
+ 399.9851198762
+ 401.8392286005
+ 402.8619177639
+ 404.2364418002
+ 405.1343874599
+ 407.5814603869
+ 408.9472455024
+ 410.5138691934
+ 411.9722678043
+ 413.2627360702
+ 415.0188097552
+ 415.4552149963
+ 418.3877057895
+ 419.8613648182
+ 420.643827625
+ 422.0767100588
+ 423.7165796275
+ 425.0698824945
+ 427.2088250841
+ 428.1279140766
+ 430.3287454309
+ 431.3013069307
+ 432.1386417346
+ 433.8892184809
+ 436.1610064326
+ 437.5816981677
+ 438.6217386563
+ 439.9184422144
+ 441.6831992012
+ 442.9045463026
+ 444.3193362776
+ 446.8606226964
+ 447.4417041945
+ 449.148545685
+ 450.1269457803
+ 451.4033084454
+ 453.9867378067
+ 454.9746837686
+ 456.3284266892
+ 457.9038930641
+ 459.5134152811
+ 460.0879444222
+ 462.0653672749
+ 464.0572869105
+ 465.6715392114
+ 466.5702869308
+ 467.4390462103
+ 469.5360045591
+ 470.7736554781
+ 472.7991746619
+ 473.8352323451
+ 475.6003393694
+ 476.7690152375
+ 478.0752637667
+ 478.9421815346
+ 481.8303393763
+ 482.834782791
+ 483.8514272125
+ 485.5391481294
+ 486.5287182617
+ 488.38056709
+ 489.661761578
+ 491.3988215937
+ 493.3144415818
+ 493.9579978054
+ 495.3588288221
+ 496.4296962158
+ 498.5807824297
+ 500.3090849417
+ 501.6044469651
+ 502.2762703271
+ 504.4997733134
+ 505.4152317422
+ 506.4641527095
+ 508.8007003365
+ 510.2642279437
+ 511.5622897004
+ 512.6231445314
+ 513.6689855555
+ 515.4350571673
+ 517.5896685725
+ 518.2342231476
+ 520.1063104117
+ 521.5251934495
+ 522.4566961777
+ 523.960530892
+ 525.0773856873
+ 527.9036416013
+ 528.4062138523
+ 529.8062263187
+ 530.866917884
+ 532.6881830283
+ 533.7796307538
+ 535.6643140759
+ 537.0697590831
+ 538.4285261762
+ 540.2131663762
+ 540.6313902473
+ 541.8474371212
+ 544.323890101
+ 545.6368332489
+ 547.0109120581
+ 547.9316133645
+ 549.4975675627
+ 550.9700100395
+ 552.0495722006
+ 553.7649721192
+ 555.7920205617
+ 556.8994764069
+ 557.5646591721
+ 559.3162370287
+ 560.2408074973
+ 562.559207616
+ 564.1608791108
+ 564.5060559381
+ 566.6987876828
+ 567.7317579012
+ 568.9239551796
+ 570.0511147825
+ 572.4199841325
+ 573.6146105268
+ 575.0938860145
+ 575.8072471409
+ 577.0390034721
+ 579.098834672
+ 580.1369593624
+ 581.9465762659
+ 583.2360882192
+ 584.5617059035
+ 585.984563205
+ 586.7427718913
+ 588.1396632662
+ 590.6603975168
+ 591.725858065
+ 592.5713583002
+ 593.9747146822
+ 595.7281536974
+ 596.3627683284
+ 598.4930773462
+ 599.5456403644
+ 601.6021367359
+ 602.5791678864
+ 603.6256189036
+ 604.6162184938
+ 606.3834604221
+ 608.4132173112
+ 609.3895751547
+ 610.8391629377
+ 611.7742096209
+ 613.5997786756
+ 614.6462378722
+ 615.5385633694
+ 618.1128313664
+ 619.184482598
+ 620.2728936722
+ 621.7092945279
+ 622.3750027398
+ 624.2699000182
+ 626.0192834277
+ 627.2683968508
+ 628.3258623595
+ 630.4738874383
+ 630.8057809272
+ 632.2251411671
+ 633.5468582523
+ 635.5238003106
+ 637.3971931598
+ 637.9255139808
+ 638.9279382669
+ 640.6947946688
+ 641.9454996657
+ 643.2788837814
+ 644.9905782297
+ 646.3481915955
+ 647.7617530043
+ 648.7864008888
+ 650.1975193453
+ 650.6686838914
+ 653.6495716054
+ 654.3019205863
+ 655.7094630224
+ 656.9640845995
+ 658.1756144186
+ 659.663845973
+ 660.7167325953
+ 662.2965864311
+ 664.2446046523
+ 665.3427630956
+ 666.5151477042
+ 667.1484948946
+ 668.9758488202
+ 670.3235852059
+ 672.4581835842
+ 673.0435782861
+ 674.3558978101
+ 676.1396743636
+ 677.2301806688
+ 677.8004447462
+ 679.7421978825
+ 681.8949915332
+ 682.6027350198
+ 684.0135498139
+ 684.9726298621
+ 686.1632235877
+ 687.9615431847
+ 689.3689413623
+ 690.4747350324
+ 692.4516844155
+ 693.1769700606
+ 694.5339086999
+ 695.7263359209
+ 696.6260699003
+ 699.132095476
+ 700.2967391321
+ 701.3017429546
+ 702.2273431458
+ 704.0338392955
+ 705.1258139546
+ 706.1846547995
+ 708.2690708851
+ 709.2295885703
+ 711.1302741797
+ 711.9002899144
+ 712.7493834701
+ 714.0827718207
+ 716.1123964541
+ 717.4825697031
+ 718.7427865455
+ 719.6971009884
+ 721.3511622185
+ 722.2775049757
+ 723.8458210451
+ 724.5626138904
+ 727.05640323
+ 728.4054815889
+ 728.7587497956
+ 730.4164821228
+ 731.4173549186
+ 732.8180527145
+ 734.7896432524
+ 735.7654592086
+ 737.0529289123
+ 738.5804211714
+ 739.909523674
+ 740.5738074473
+ 741.7573355729
+ 743.8950131425
+ 745.3449895506
+ 746.4993058994
+ 747.6745636243
+ 748.2427544651
+ 750.6559503621
+ 750.9663810667
+ 752.8876215672
+ 754.3223704717
+ 755.839308976
+ 756.76824844
+ 758.1017292464
+ 758.9002382249
+ 760.2823669835
+ 762.7000332497
+ 763.5930661728
+ 764.3075227242
+ 766.0875400998
+ 767.2184721555
+ 768.2814618065
+ 769.6934072526
+ 771.0708393137
+ 772.9616175658
+ 774.1177446279
+ 775.0478470966
+ 775.9997119632
+ 777.2997485296
+ 779.1570769492
+ 780.3489250042
+ 782.1376643908
+ 782.5979439461
+ 784.2888226125
+ 785.7390897007
+ 786.4611474505
+ 787.4684638159
+ 790.0590923641
+ 790.8316204679
+ 792.4277076086
+ 792.8886525626
+ 794.4837918699
+ 795.6065961562
+ 797.263470038
+ 798.7075701663
+ 799.6543362109
+ 801.604246463
+ 802.5419848784
+ 803.2430962043
+ 804.7622391127
+ 805.8616356671
+ 808.151814936
+ 809.1977833633
+ 810.0818048864
+ 811.1843588465
+ 812.7711083891
+ 814.0459136075
+ 814.8705396259
+ 816.7277377144
+ 818.3806688664
+ 819.2046421708
+ 820.7218984439
+ 821.7134541334
+ 822.1977574934
+ 824.5262938716
+ 826.0392873766
+ 826.9058109541
+ 828.3401743005
+ 829.4370109683
+ 830.8958840533
+ 831.7997776591
+ 833.0036409092
+ 834.6519151478
+ 836.6935761876
+ 837.3473350595
+ 838.2490219927
+ 839.4653948103
+ 841.036389829
+ 842.0413542065
+ 844.1661966074
+ 844.8059939758
+ 846.1947699277
+ 847.9717176395
+ 848.4892811809
+ 849.8622743487
+ 850.645448466
+ 853.1631125834
+ 854.0955117199
+ 855.2867102444
+ 856.4841174908
+ 857.3107406026
+ 858.9040264665
+ 860.410670896
+ 861.1710982127
+ 863.1897197719
+ 864.3408239301
+ 865.5946643265
+ 866.423739904
+ 867.6931226118
+ 868.6704942291
+ 870.8469023258
+ 872.1887508216
+ 873.0989789713
+ 873.9083892353
+ 875.9852851088
+ 876.600825833
+ 877.654698341
+ 879.3809519698
+ 880.8346488479
+ 882.3866966272
+ 883.4303318387
+ 884.1987431146
+ 885.2723044796
+ 886.8528019629
+ 888.4755666738
+ 889.7352942941
+ 890.8131321125
+ 892.3864332602
+ 893.1191175673
+ 894.8862923209
+ 895.3979196748
+ 896.6322515562
+ 899.2215226684
+ 899.8588846079
+ 900.8497398605
+ 902.2432075868
+ 903.0996744426
+ 904.7029027223
+ 905.8299407582
+ 907.656729469
+ 908.3335436451
+ 910.1863340572
+ 911.234951486
+ 912.3310456
+ 912.8239992467
+ 914.7300969584
+ 916.3550008086
+ 917.8253775704
+ 918.8365352435
+ 919.4483444397
+ 921.1563955072
+ 922.5006293066
+ 923.2857198024
+ 924.7734839335
+ 926.5515527846
+ 927.8508589858
+ 928.6636593289
+ 929.8740928506
+ 931.0092113366
+ 931.8527407455
+ 934.3853068373
+ 934.9954248638
+ 936.2286493793
+ 937.532925712
+ 939.0243008992
+ 939.6609406145
+ 941.156999642
+ 942.0523416434
+ 944.1880358096
+ 945.333562503
+ 946.7658422047
+ 947.0791830963
+ 948.346646255
+ 950.1516126846
+ 951.0332487338
+ 952.7279886199
+ 954.1297192696
+ 954.8293089382
+ 956.6754793433
+ 957.5100525964
+ 958.4145933901
+ 959.4591688071
+ 961.6695724742
+ 963.1820866713
+ 963.5670401916
+ 965.0555796238
+ 966.1107548184
+ 967.3711537663
+ 968.6363019061
+ 970.1256105569
+ 971.0714914864
+ 973.1853612943
+ 973.8730789927
+ 974.7746350658
+ 976.1785024206
+ 976.9172021171
+ 978.7666715351
+ 980.5780006398
+ 981.2886153018
+ 982.3964851688
+ 983.5750760064
+ 985.1869286558
+ 986.1305151102
+ 986.7560084077
+ 988.9926223707
+ 990.223917804
+ 991.37429414776
+ 992.72869633673
+ 993.21458095744
+ 994.40459057109
+ 996.2053361643
+ 997.51193475194
+ 998.82754713693
+ 999.79157155741
+ 1001.3494826378
+ 1002.4043054884
+ 1003.2678081795
+ 1004.6750441212
+ 1005.5434203044
+ 1008.0067043071
+ 1008.7957099007
+ 1009.806590747
+ 1010.5697570111
+ 1012.4100425158
+ 1013.0586380984
+ 1014.6896326224
+ 1016.0601789426
+ 1017.2664023644
+ 1018.6055725186
+ 1019.9124397439
+ 1020.9174750173
+ 1021.5443444999
+ 1022.8852709117
+ 1025.2657241977
+ 1025.7079443715
+ 1027.4676935156
+ 1028.1289642555
+ 1029.227297444
+ 1030.8973687906
+ 1031.8331802974
+ 1032.8128830352
+ 1034.6129155295
+ 1036.1959173581
+ 1037.0247076463
+ 1038.0877522406
+ 1039.0774014369
+ 1040.2640379377
+ 1041.6215280145
+ 1043.6239543496
+ 1044.5149758291
+ 1045.107042353
+ 1047.0898174843
+ 1047.9871474896
+ 1048.9537851947
+ 1049.9962842566
+ 1051.5765718432
+ 1053.2457851584
+ 1054.7810394783
+ 1055.0021464757
+ 1056.6888473638
+ 1057.1000436596
+ 1059.1337691069
+ 1060.1395185616
+ 1061.5013044651
+ 1062.9153815079
+ 1064.0715510717
+ 1065.1218551063
+ 1066.4632234692
+ 1067.418860121
+ 1067.990000079
+ 1070.5350419968
+ 1071.6186232151
+ 1072.5439980111
+ 1073.5703531651
+ 1074.7477710443
+ 1076.2666255942
+ 1076.9240560658
+ 1078.647198481
+ 1079.8099654293
+ 1081.1710023435
+ 1082.9527497231
+ 1083.2954665141
+ 1084.1832643104
+ 1085.6478312086
+ 1086.9119989898
+ 1088.7557246748
+ 1089.7953379241
+ 1090.8631910262
+ 1091.7284729669
+ 1093.4408732724
+ 1094.2844575238
+ 1095.4330847587
+ 1096.4019177947
+ 1098.8410154666
+ 1099.3606671786
+ 1100.5744606225
+ 1101.8391111688
+ 1102.5517798999
+ 1103.7322971745
+ 1105.6171888308
+ 1106.7743716758
+ 1107.774531955
+ 1109.1589188568
+ 1110.4441429936
+ 1111.4435047649
+ 1112.4329954081
+ 1113.3975951148
+ 1115.0653594616
+ 1116.7872538812
+ 1117.9659196692
+ 1118.684134861
+ 1119.4732474262
+ 1121.1559376758
+ 1122.4586213569
+ 1123.1011173878
+ 1125.3147293978
+ 1125.7634424293
+ 1127.6580235272
+ 1128.4302246139
+ 1129.7289967771
+ 1130.3915978962
+ 1131.4950855619
+ 1133.7086256695
+ 1134.8856545915
+ 1135.5622139755
+ 1136.929293481
+ 1138.1515897798
+ 1138.9923418205
+ 1140.7218481719
+ 1141.2610229641
+ 1142.8586596079
+ 1144.7822995186
+ 1145.4853275171
+ 1146.5768149249
+ 1147.5017765233
+ 1148.6152772088
+ 1149.9826010281
+ 1151.5628147237
+ 1152.9431285306
+ 1153.8903037163
+ 1154.6975195354
+ 1156.6215678339
+ 1157.4323145756
+ 1158.0016090273
+ 1159.480657019
+ 1161.3966446344
+ 1162.487528602
+ 1163.7010316828
+ 1164.7375863512
+ 1165.2712277065
+ 1166.9436134095
+ 1168.0862716101
+ 1169.6983568849
+ 1170.4636385783
+ 1172.1206818657
+ 1173.305687764
+ 1174.2327668565
+ 1175.215452396
+ 1176.6328758098
+ 1177.1063044217
+ 1179.7012235019
+ 1180.6535437871
+ 1181.2673181517
+ 1182.5822703469
+ 1183.712775296
+ 1185.1558428475
+ 1185.8753586954
+ 1187.3451614933
+ 1188.8564442982
+ 1189.9636364979
+ 1191.4826059264
+ 1192.2186114781
+ 1193.3240214275
+ 1193.8574271354
+ 1196.0346717487
+ 1197.0717866588
+ 1198.6865691046
+ 1199.3565137079
+ 1200.5326920312
+ 1201.8103348566
+ 1203.1373508614
+ 1203.8552475941
+ 1204.9854921715
+ 1206.8704997939
+ 1208.4714599495
+ 1208.9894841679
+ 1209.8980300875
+ 1211.4161158928
+ 1212.1131530663
+ 1213.5983726804
+ 1215.389975065
+ 1216.1837220335
+ 1217.1744824977
+ 1219.0500281774
+ 1219.6144713109
+ 1220.816347691
+ 1221.6922424831
+ 1222.9524840951
+ 1225.0183300242
+ 1225.8550207608
+ 1227.2318276415
+ 1227.9171416144
+ 1228.793154363
+ 1230.5846031542
+ 1231.5622738776
+ 1232.5295870406
+ 1234.2778166534
+ 1235.5025485265
+ 1236.3990174658
+ 1237.9772985136
+ 1238.4572327957
+ 1239.4908071468
+ 1240.8134717852
+ 1243.078076398
+ 1243.5381465261
+ 1244.851433967
+ 1245.6558661881
+ 1247.3725619699
+ 1248.0630610532
+ 1249.159887953
+ 1250.6723972757
+ 1251.6598320043
+ 1253.6735778521
+ 1254.4313284218
+ 1255.4082306453
+ 1256.1812141985
+ 1257.5412194126
+ 1258.7792334886
+ 1260.3445483162
+ 1261.6117171615
+ 1262.5566140004
+ 1263.6767328439
+ 1264.957223007
+ 1266.1790377606
+ 1267.2003456118
+ 1267.5705717794
+ 1270.1189218865
+ 1271.1342996316
+ 1272.0839595993
+ 1273.2611446335
+ 1274.1962208895
+ 1275.0920303158
+ 1276.8421715556
+ 1277.7630919863
+ 1279.3328433167
+ 1280.155794409
+ 1281.8287269597
+ 1283.0004913867
+ 1283.3350321389
+ 1284.8547951546
+ 1285.6950233311
+ 1287.4100266171
+ 1289.1653515328
+ 1290.1047715198
+ 1290.417708073
+ 1291.9458709681
+ 1293.4939815574
+ 1294.1184743778
+ 1295.3653635054
+ 1296.8011109923
+ 1298.2565270679
+ 1299.4051712507
+ 1300.4900189824
+ 1301.4955166806
+ 1302.3467423792
+ 1303.2732002288
+ 1305.401672188
+ 1306.508393313
+ 1307.2672421078
+ 1308.9881965176
+ 1309.4215324933
+ 1311.0565705111
+ 1311.966940608
+ 1313.031599369
+ 1314.0525656517
+ 1316.2121126029
+ 1317.0729860348
+ 1318.1712791322
+ 1318.9478805966
+ 1319.9310828775
+ 1321.6281385519
+ 1322.2580671234
+ 1324.2249787188
+ 1325.237624359
+ 1325.9819696304
+ 1327.6352811085
+ 1329.0435179965
+ 1329.2050187855
+ 1330.4299371205
+ 1331.8275913853
+ 1333.6735226103
+ 1334.7473290517
+ 1335.694974526
+ 1336.6901846534
+ 1337.6887918097
+ 1338.9231645987
+ 1340.4264004573
+ 1341.1662722529
+ 1342.6085078838
+ 1344.1560440036
+ 1345.4771062614
+ 1345.7314132554
+ 1347.5194717509
+ 1348.0172380187
+ 1349.085194014
+ 1351.2962063741
+ 1352.2104651592
+ 1353.4833383583
+ 1353.8867819717
+ 1355.6805953206
+ 1356.6056557098
+ 1357.7717428286
+ 1358.4601603992
+ 1360.3931447622
+ 1361.3930747136
+ 1363.0223286033
+ 1363.8791907971
+ 1364.5765848968
+ 1365.4937335513
+ 1367.10409097
+ 1368.330193308
+ 1369.6869490773
+ 1370.9735227678
+ 1371.6865535528
+ 1373.2029145624
+ 1374.1547986586
+ 1375.3023923447
+ 1376.1617799936
+ 1377.1776336421
+ 1379.6832830286
+ 1380.1485784417
+ 1381.0739771492
+ 1382.3456629785
+ 1383.2975910079
+ 1384.4444158478
+ 1385.6637770112
+ 1387.3266476635
+ 1387.9214541271
+ 1389.5658317984
+ 1390.7054902864
+ 1391.8532004433
+ 1392.6440277885
+ 1393.4334017408
+ 1394.8841846757
+ 1396.5441631237
+ 1397.8346233214
+ 1398.8376752014
+ 1399.8394729412
+ 1400.4269462974
+ 1402.5643472501
+ 1402.9737476409
+ 1404.0062921705
+ 1405.6669750592
+ 1407.0851427764
+ 1408.1363074962
+ 1409.3206810798
+ 1410.0248107258
+ 1411.2570568157
+ 1411.9656534618
+ 1413.8431487886
+ 1415.5857847955
+ 1415.7815813033
+ 1417.1028229338
+ 1418.6969638525
+ 1419.422480946
+
+### Analytic rank of elliptic curve 5077a1
+analytic rank equals 3
+
+### run example program
+-----------------------------------------------
+
+Name of L_function: zeta
+All coefficients are equal to 1
+
+Q = 0.564189583548
+OMEGA = (1,0)
+a = 1 (the quasi degree)
+gamma[1] =0.5    lambda[1] =(0,0)
+
+
+number of poles (of the completed L function) = 2
+pole[1] =(1,0)    residue[1] =(1,0)
+pole[2] =(0,0)    residue[2] =(-1,0)
+-----------------------------------------------
+
+-----------------------------------------------
+
+Name of L_function: L4
+number of dirichlet coefficients = 4
+coefficients are periodic
+b[1] = 1
+b[2] = 0
+b[3] = -1
+b[4] = 0
+
+Q = 1.1283791671
+OMEGA = (1,0)
+a = 1 (the quasi degree)
+gamma[1] =0.5    lambda[1] =(0.5,0)
+
+
+number of poles (of the completed L function) = 0
+-----------------------------------------------
+
+-----------------------------------------------
+
+Name of L_function: L5
+number of dirichlet coefficients = 5
+coefficients are periodic
+b[1] = (1,0)
+b[2] = (0,1)
+b[3] = (-0,-1)
+b[4] = (-1,0)
+b[5] = (0,0)
+
+Q = 1.26156626101
+OMEGA = (0.850650808352,0.525731112119)
+a = 1 (the quasi degree)
+gamma[1] =0.5    lambda[1] =(0.5,0)
+
+
+number of poles (of the completed L function) = 0
+-----------------------------------------------
+
+zeta(0.5,0) = (-1.46035450881,0)
+L4(0.5,0) = (0.6676914571896,0)
+L5(0.5,0) = (0.7637478801173,0.2169647675189)
+L4(1,0) = (0.7853981633975,0)
+L5(1,0) = (0.8648062659772,0.2041530661384)
+0.4285714285714
+1.5
+0.1666666666667
+0.6666666666667
+0.5714285714286
+0
+0.5714285714286
+0.5714285714286
+0
+0.8888888888889
+6.123233995737e-17
+-0.7071067811865
+
+### test data files: zeros of data_mass
+ 2.89772467827
+ 5.59124531532
+ 21.09037750873
+ 23.15751048459
+ 25.43930038984
+ 29.18920671354
+ 31.06173948455
+ 32.45271823746
+ 34.02727968404
+ 36.93123719687
+ 38.98709821794
+ 40.46554901427
+ 41.68511034313
+ 43.05108147996
+ 45.22036201604
+ 47.66072427933
+ 48.81796648431
+ 49.79846517638
+ 51.37514501231
+ 52.55988761653
+
+### test data files: zeros of data_tau
+ 9.222379399921
+ 13.90754986139
+ 17.44277697823
+ 19.65651314195
+ 22.33610363721
+ 25.27463654811
+ 26.80439115835
+ 28.83168262419
+ 31.17820949836
+ 32.77487538223
+ 35.19699584121
+ 36.74146297671
+ 37.75391597562
+ 40.21903437422
+ 41.73049228931
+ 43.59174123558
+ 45.04007921378
+ 46.19731875314
+ 48.35905247802
+ 49.27605353656
+ 51.15656028144
+ 53.06671423543
+ 54.09995263156
+ 55.21778745348
+ 56.71529404473
+ 58.58016100791
+ 59.78593800332
+ 61.13672295793
+ 62.66499232631
+ 64.08664571893
+ 64.84864127983
+ 66.49476926719
+ 67.93860977475
+ 69.04339787489
+ 71.11465341425
+ 71.74750419617
+ 72.81406066759
+ 74.09582544002
+ 75.77216168976
+ 77.10183189349
+ 77.68461125026
+ 79.79293909124
+ 80.5601920681
+ 82.00757620452
+ 82.84252583957
+ 83.97564035576
+ 85.46221814858
+ 86.75597218826
+ 88.07513099426
+ 89.02289034074
+ 90.45103289616
+ 91.11271853147
+ 92.44292549472
+ 93.76912394744
+ 95.13807853977
+ 95.62492107705
+ 97.34104088985
+ 98.709804088181
+ 99.746648900304
+ 100.22461499968
+ 101.34359353371
+ 103.16663591564
+ 103.81733899745
+ 105.22181333799
+ 106.2938221342
+ 107.42670755393
+ 108.47543790164
+ 109.39169607603
+ 110.709662684
+ 111.53473540164
+ 112.75715359897
+ 113.84343404772
+ 115.06276556053
+ 116.4634839837
+ 117.11654084727
+ 118.14687073685
+ 119.08216779665
+ 119.99454209524
+ 121.78633067852
+ 122.55731782503
+ 123.21241716312
+ 124.60624049117
+ 125.9428934493
+ 126.75939204587
+ 127.55580316015
+ 128.62383894451
+ 129.60342208413
+ 130.9485924074
+ 131.70819904812
+ 132.96854278614
+ 134.34729668877
+ 135.07869588874
+ 135.55289998753
+ 137.090334711
+ 137.70022292032
+ 139.28400855168
+ 139.93658439006
+ 140.89653322681
+ 142.14115198902
+ 143.08355526348
+ 144.3547263694
+ 145.16531200641
+ 146.1487705718
+ 146.40978836463
+ 148.11775412261
+ 149.04126788157
+ 150.27507429698
+ 150.90642375398
+ 152.13443437848
+ 153.11514719403
+ 154.05182909662
+ 154.79531222958
+ 155.73207939114
+ 157.09578319229
+ 157.91275288651
+ 158.66081392258
+ 159.66861391034
+ 161.30637028119
+ 161.85035860513
+ 162.87145492254
+ 163.5474941088
+ 164.3389052284
+ 165.6101228958
+ 166.5807970057
+ 167.6436347091
+ 168.6591247847
+ 169.2457741065
+ 170.5979320488
+ 171.4664999977
+ 172.2169267498
+ 173.5242528689
+ 173.9134135057
+ 174.8765292772
+ 176.1665777917
+ 177.2078297826
+ 177.6927239362
+ 179.2467652208
+ 180.0763485343
+ 180.763679308
+ 181.7354944856
+ 182.2024919488
+ 183.5234365784
+ 184.7663025824
+ 185.4918147412
+ 186.2444170036
+ 187.0757402666
+ 188.5368725277
+ 189.2689736566
+ 190.183009487
+ 190.9583656893
+ 191.6328149027
+ 192.7925002062
+ 193.5481111769
+ 194.837180509
+ 195.4071279189
+ 196.8654811
+ 197.4600122758
+ 198.1569402301
+ 199.3112321519
+ 200.1461412029
+ 200.7860427714
+ 201.843714962
+ 203.1511121528
+ 203.536310991
+ 204.5123933434
+ 205.6235312757
+ 206.4551567297
+ 207.846761068
+ 208.3443022524
+ 208.8862430002
+ 209.7545253738
+ 210.7039058347
+ 211.9648793319
+ 212.9829738766
+ 213.4280929692
+ 214.4386923504
+ 215.5826154495
+ 216.423719513
+ 217.1374984504
+ 217.8974922792
+ 219.0577593492
+ 219.6196634032
+ 220.8424853007
+ 221.2983798027
+ 222.4923346026
+ 223.3196639866
+ 224.4885153001
+ 225.2978104732
+ 226.1301840738
+ 226.6142171531
+ 227.6019259102
+ 228.5023298788
+ 229.309991752
+ 230.57189985
+ 231.3567694302
+ 232.0759318125
+ 232.6653058039
+ 234.1010064029
+ 234.8267446127
+ 235.74710144
+ 236.3093063595
+ 237.3473335472
+ 237.6450888275
+ 239.289059163
+ 239.8992460699
+ 240.4924083209
+ 241.8682289971
+ 242.570187861
+ 243.7263550403
+ 243.9341977649
+ 245.0890157105
+ 245.5943279944
+ 246.6926898485
+ 247.8638440831
+ 248.4749527797
+ 249.1617534962
+ 250.0852489562
+ 251.0710985655
+ 252.2017418298
+ 252.763898597
+ 253.6220781406
+ 254.636456582
+ 255.0804799369
+ 255.6503879912
+ 257.1157213659
+ 257.8064380484
+ 258.8193362763
+ 259.5597420518
+ 260.3196678497
+ 261.3765190186
+ 261.9559808789
+ 263.2167448602
+ 263.4609411671
+ 264.333389913
+ 265.5303740019
+ 266.1943306679
+ 267.0749849987
+ 267.9143130553
+ 268.5129542542
+ 269.8286792243
+ 270.8988961225
+ 271.4162122773
+ 271.7926935992
+ 272.7023215418
+ 273.6244064675
+ 274.5969844018
+ 275.4098195361
+ 276.5361690897
+ 276.9253544225
+ 277.8396903879
+ 278.9549020578
+ 279.5595175681
+ 280.4631782672
+ 281.329358549
+ 281.989594894
+ 282.7955544863
+ 283.5803955395
+ 284.3899259683
+ 285.3270241537
+ 286.391637452
+ 286.856599307
+ 288.053289884
+ 288.8006650626
+ 289.542732101
+ 290.1350782102
+ 291.101338116
+ 291.5382880479
+ 292.7113897787
+ 293.9381254377
+ 294.3724290565
+ 295.0297012071
+ 295.6922564133
+ 297.2842177677
+ 297.5534155805
+ 298.6305678823
+ 299.4765749055
+ 299.8355700865
+ 300.6053092776
+ 301.5784501395
+ 302.6077895528
+ 303.338282435
+ 303.9688372747
+ 305.1095949091
+ 306.0720603098
+ 306.4583488649
+ 307.3518759722
+ 308.2187292243
+ 308.7765237235
+ 309.843954242
+ 310.5622090525
+ 311.2325407073
+ 312.4969547628
+ 312.7215429826
+ 313.7660202434
+ 314.6279086185
+ 315.6181024136
+ 316.4577129805
+ 317.0960150769
+ 317.7914075384
+ 318.3616944674
+ 319.0690896988
+ 320.2426837231
+ 321.2416146557
+ 321.8138419056
+ 322.6315783665
+ 323.4360729966
+ 324.0061027022
+ 325.5738331178
+ 325.7479417843
+ 326.3286660475
+ 327.3678299142
+ 328.1230302867
+ 329.0257388381
+ 329.658141759
+ 330.4848328263
+ 331.3228769708
+ 332.0708905071
+ 333.2490196451
+ 334.0835689792
+ 334.3972950425
+ 335.3045870282
+ 335.8778298615
+ 336.9065217434
+ 337.3867493912
+ 338.5895326087
+ 339.36876123
+ 340.067355744
+ 340.7148879606
+ 341.6493355687
+ 342.3800601324
+ 343.3260341321
+ 344.1094216926
+ 344.898361981
+ 345.5424536678
+ 345.9837371779
+ 346.8525389262
+ 348.0322080089
+ 348.6820197512
+ 349.553089947
+ 350.0319040263
+ 351.28960164
+ 351.9730519484
+ 352.7440783264
+ 353.1107490671
+ 354.0570557411
+ 354.9855222604
+ 355.2922238613
+ 356.8338668125
+ 357.4425566582
+ 357.7031585097
+ 358.6071448756
+ 359.6318917814
+ 360.529956209
+ 361.4460080487
+ 361.835939688
+ 362.9109338715
+ 363.2059203685
+ 364.0228859107
+ 364.8890717283
+ 365.7941219473
+ 366.3946310163
+ 367.673032655
+ 368.1154302097
+ 368.7373188992
+ 369.7778301412
+ 370.4275144261
+ 371.2020690388
+ 372.0496199652
+ 372.6107172183
+ 373.3200722486
+ 374.3113862667
+ 374.9243466649
+ 375.8449583875
+ 376.5412950432
+ 377.1835802572
+ 378.1164551309
+ 379.2793078941
+ 379.6929732133
+ 380.5776722324
+ 381.1774071699
+ 381.3492984959
+ 382.5430013711
+ 383.5919971027
+ 384.2670525581
+ 385.0510712163
+ 385.7574243736
+ 386.3420931504
+ 387.3373820285
+ 388.178605882
+ 388.9973676622
+ 389.3990336151
+ 390.3466532774
+ 391.1159227001
+ 391.7784046796
+ 392.3140308101
+ 393.3171989127
+ 394.3868425001
+ 394.5399598806
+ 395.7471548949
+ 396.7547231083
+ 397.1807480369
+ 397.8266928791
+ 398.6963498691
+ 399.410855365
+ 400.1592344328
+ 400.4886536787
+ 401.9200307113
+ 402.4204792092
+ 403.4792667242
+ 403.8196349588
+ 404.3622957518
+ 405.5873310222
+ 406.4105028833
+ 407.1690726594
+ 407.936718736
+ 408.2753097467
+ 409.0928595592
+ 409.756711946
+ 410.5601675382
+ 411.7836485129
+ 412.1003585138
+ 412.9909693929
+ 413.6693598069
+ 414.8388470742
+ 415.2601024032
+ 415.9258006044
+ 416.8249176263
+ 417.3019624028
+ 418.1071018321
+ 419.0749538439
+ 419.6836233385
+ 420.5464642084
+ 421.0717682948
+ 421.7948585105
+ 422.9097886826
+ 423.4843519255
+ 424.1849816321
+ 425.4269555222
+ 425.7244703918
+ 426.3130294323
+ 426.9277273908
+ 427.9032509045
+ 428.3549687941
+ 429.5665602469
+ 430.2946165983
+ 430.9899218068
+ 431.7133442405
+ 432.1270106631
+ 433.302690053
+ 433.9677033632
+ 434.7562935884
+ 435.2921766875
+ 436.2409315236
+ 436.4745702407
+ 437.5201512612
+ 438.4315260285
+ 439.1392629552
+ 439.4946176433
+ 440.5637942063
+ 441.3004870257
+ 442.3624551689
+ 443.0119244634
+ 443.5001164934
+ 443.972496073
+ 444.870611287
+ 445.6034828587
+ 446.3573771416
+ 447.1729484623
+ 448.0916398015
+ 448.6875613652
+ 449.3107759589
+ 449.9538530656
+ 451.0168035029
+ 451.7600259829
+ 452.3466911118
+ 453.0511188508
+ 454.0821798329
+ 454.44853114
+ 454.9499653675
+ 455.7206618436
+ 456.8053468352
+ 457.737178687
+ 457.9627565758
+ 459.0701009815
+ 459.671372983
+ 460.5695936199
+ 461.1466034987
+ 462.057394796
+ 462.3806309246
+ 463.2589055236
+ 463.7405482997
+ 464.8907178657
+ 465.7444357651
+ 466.1431406005
+ 466.8457443575
+ 467.6995428623
+ 468.1858650096
+ 469.4242322641
+ 470.2470663986
+ 470.632742058
+ 471.2762765664
+ 472.0853674123
+ 472.5529897442
+ 473.2178548669
+ 474.5271591927
+ 474.7927674814
+ 475.6705828315
+ 476.5344223262
+ 477.2231058871
+ 478.0017010518
+ 478.5493401775
+ 479.2761504172
+ 480.1909877699
+ 480.8777358595
+ 481.2823090642
+ 482.2318739581
+ 482.8283347184
+ 483.8478239232
+ 484.0400298822
+ 485.4694583119
+ 485.5953266191
+ 486.4293767199
+ 487.5900376226
+ 488.211583768
+ 488.7669723707
+ 489.6497600134
+ 489.9058984976
+ 490.5665522955
+ 491.5669708503
+ 492.1540748274
+ 493.4235293344
+ 493.9557783289
+ 494.3044354588
+ 494.9581999027
+ 495.9770107757
+ 496.9369560649
+ 497.4254399269
+ 498.0590027016
+ 498.8883173132
+ 499.4256062698
+ 500.1922122541
+ 500.8130967713
+ 501.6671459939
+ 502.2461898094
+ 503.2198027716
+ 503.6924652613
+ 504.7108959469
+ 505.3921039021
+ 506.2059663774
+ 506.779902007
+ 507.122200488
+ 508.1498959856
+ 508.7030083139
+ 509.6589270955
+ 509.9262423147
+ 511.1672837687
+ 511.8440280087
+ 512.3725751341
+ 512.9023170055
+ 513.8118007869
+ 514.7026839653
+ 515.2818401225
+ 516.288582045
+ 516.8168143226
+ 517.4399630057
+ 517.6980824848
+ 518.5157058242
+ 519.6593828202
+ 520.2050178374
+ 521.1153821745
+ 521.556609138
+ 522.3987628217
+ 523.2884492583
+ 523.7426510586
+ 524.6670082532
+ 525.3169714212
+ 525.8430761523
+ 526.3966398408
+ 527.3364604715
+ 528.1087348605
+ 528.8023083549
+ 529.4906043154
+ 530.0652382711
+ 530.688238201
+ 531.6407074272
+ 532.6285805167
+ 532.9806498884
+ 534.0334296322
+ 534.4092441631
+ 534.9792072748
+ 535.9634526077
+ 536.2247715823
+ 536.993367906
+ 538.0713781815
+ 538.7983796168
+ 539.3652424452
+ 540.1792739855
+ 540.8757169457
+ 541.2147076142
+ 542.3276545663
+ 543.0916763147
+ 543.6891780917
+ 544.1813507955
+ 545.0293563831
+ 545.7728940077
+ 546.0353104691
+ 547.1758033702
+ 547.8290543163
+ 548.695012734
+ 549.0170325921
+ 549.7836611539
+ 551.0217342631
+ 551.7080761102
+ 552.0283049181
+ 552.5480712559
+ 553.2979027587
+ 554.169452465
+ 554.5005752598
+ 555.6667852599
+ 556.3780490535
+ 557.0468370642
+ 557.4580781764
+ 558.4520689557
+ 558.7954256711
+ 560.0492291097
+ 560.4674899656
+ 561.202446462
+ 562.0387210723
+ 562.4486290956
+ 563.2225688205
+ 563.8354849359
+ 564.37761433
+ 565.3131129716
+ 566.0714711421
+ 566.7437544135
+ 567.5904646345
+ 568.1695453876
+ 568.8345731712
+ 569.7544549057
+ 570.1254948436
+ 570.9138176242
+ 571.756687239
+ 572.1479785473
+ 572.6724247839
+ 573.7931388244
+ 574.657757711
+ 575.0897369417
+ 575.6618469341
+ 576.2441114677
+ 577.2600813089
+ 577.976004581
+ 578.7528172084
+ 579.5615552965
+ 580.0131664726
+ 580.5370290842
+ 581.2054055556
+ 581.5964993952
+ 583.0180045495
+ 583.3127136797
+ 584.0842967758
+ 584.9173723789
+ 585.6489028533
+ 585.9766036081
+ 587.1646847002
+ 587.6518722029
+ 588.2803287035
+ 588.8046774763
+ 589.8422420162
+ 590.2650595054
+ 591.0246435458
+ 591.6709281049
+ 592.3144660519
+ 593.0635253283
+ 593.8611857051
+ 594.5042402355
+ 595.0425842537
+ 596.3164027673
+ 596.4832760844
+ 597.4668841687
+ 598.0686701066
+ 598.5163375553
+ 599.088985808
+ 599.8724924494
+ 600.590372786
+ 601.3911329161
+ 602.2984252947
+ 602.9818380952
+ 603.4126135135
+ 603.833028865
+ 604.808460113
+ 605.7677254319
+ 606.3669696952
+ 607.1057762699
+ 607.4116309095
+ 608.1614285363
+ 609.053964657
+ 609.3949560148
+ 610.2284496929
+ 611.152994214
+ 611.6669694346
+ 612.2618139833
+ 613.0526664738
+ 614.2345951373
+ 614.502885248
+ 615.120794419
+ 615.7444748144
+ 616.5707917567
+ 617.0151078002
+ 617.7934565735
+ 618.4313130811
+ 619.3839838155
+ 620.0510108515
+ 620.4792229126
+ 621.2266252288
+ 622.0122890334
+ 622.639192718
+ 623.3591842295
+ 624.2776924812
+ 624.7358509773
+ 625.783241064
+ 625.8878893225
+ 626.6289872637
+ 627.1707375404
+ 627.8654595271
+ 628.9545412652
+ 629.6936197945
+ 630.1928770806
+ 630.6830957996
+ 631.6694288012
+ 632.3290416465
+ 632.8917506833
+ 633.6643616214
+ 634.3820086937
+ 634.8660702935
+ 635.3984422438
+ 636.2834873426
+ 636.9518024761
+ 637.8091595766
+ 638.3721344383
+ 638.8595131416
+ 639.4860794577
+ 640.5345455773
+ 641.0289443115
+ 642.1184975814
+ 642.6251032735
+ 643.0540591474
+ 643.7767417037
+ 644.0976179975
+ 645.195944393
+ 645.6921996602
+ 646.3228306082
+ 647.2403173592
+ 647.9614051035
+ 648.7323963272
+ 649.0161354724
+ 649.940138733
+ 650.406070262
+ 651.5422398424
+ 651.9578549588
+ 652.4076481383
+ 653.5761694226
+ 653.918956636
+ 654.2662503541
+ 655.1399416162
+ 656.1436522637
+ 656.4636345019
+ 657.355870447
+ 658.09679873
+ 658.5258638413
+ 659.469853767
+ 660.300762664
+ 660.8466019912
+ 661.4397604223
+ 661.8026206421
+ 662.5387604177
+ 663.2456368532
+ 663.9619087758
+ 665.0177946402
+ 665.4343037606
+ 666.123965049
+ 666.7657722667
+ 667.0747650385
+ 668.2104288865
+ 669.1515803844
+ 669.4421337627
+ 670.0808998901
+ 670.9525873037
+ 671.5549805474
+ 671.9640453313
+ 672.5914341134
+ 673.3458495361
+ 674.2882714466
+ 674.7932432583
+ 675.3811482285
+ 676.3793128206
+ 676.8747866226
+ 677.8535749111
+ 678.03721085
+ 678.7869852975
+ 679.6347513692
+ 680.2060748237
+ 680.8853194008
+ 681.2775043262
+ 682.1813201039
+ 682.9616335889
+ 683.5862451423
+ 684.280354746
+ 684.7611190712
+ 685.5554040746
+ 686.0268621626
+ 687.2333679383
+ 687.8630588617
+ 688.2695164282
+ 688.9700274893
+ 689.4887967334
+ 690.0287719359
+ 690.6234223665
+ 691.5283764461
+ 692.4881150453
+ 692.9086190681
+ 693.5965975885
+ 694.3144158553
+ 694.7886862017
+ 695.706850225
+ 696.4535916702
+ 696.8464986531
+ 697.792865264
+ 698.0906314358
+ 698.8476393335
+ 699.4912465351
+ 700.5716146347
+ 700.9048650841
+ 701.0973114665
+ 702.4463033628
+ 702.8327132509
+ 703.6167875189
+ 704.2303074719
+ 705.2893867465
+ 705.6100290328
+ 706.4019215452
+ 706.8168622372
+ 707.5134864183
+ 708.14584178
+ 708.7245834922
+ 709.4584356982
+ 710.2537137971
+ 711.1578646007
+ 711.7343823259
+ 712.0915771661
+ 712.6720043985
+ 713.7013789674
+ 714.1899433337
+ 715.0295363716
+ 715.8007336791
+ 716.2375626737
+ 716.9412604664
+ 717.2260850134
+ 718.1099004028
+ 718.6855143901
+ 719.6953824621
+ 720.3065676052
+ 720.6426884544
+ 721.4343053846
+ 722.3911416324
+ 722.9581490313
+ 723.8102637476
+ 724.0895792528
+ 724.9024584572
+ 725.1346147542
+ 726.2591473856
+ 726.6876042148
+ 727.3421515487
+ 728.2868630863
+ 728.8570402933
+ 729.4899639716
+ 730.0000943004
+ 730.5143943855
+ 731.6790844739
+ 732.3188243846
+ 732.6408854887
+ 733.5993896596
+ 734.1926807074
+ 734.856425002
+ 735.1901397363
+ 735.8741571034
+ 736.4295680899
+ 737.4705269107
+ 738.0388155975
+ 738.7350991619
+ 739.6950091845
+ 739.8438580846
+ 740.6032526517
+ 741.3750965284
+ 742.1010509211
+ 742.8563498819
+ 743.2580960816
+ 743.7871278817
+ 744.5214145137
+ 745.4082167245
+ 745.7006663497
+ 746.8493598724
+ 747.1118097607
+ 747.9556170627
+ 748.3071752408
+ 749.2477834966
+ 749.9539208565
+ 750.8621488749
+ 751.4165224271
+ 751.9854397139
+ 752.2691457493
+ 753.0158221848
+ 753.6067329909
+ 754.4477840392
+ 755.0695423481
+ 756.013465277
+ 756.3641990433
+ 757.0554832637
+ 757.8455316437
+ 758.5776717492
+ 758.8189289195
+ 759.8444806885
+ 760.5868520791
+ 760.9449038594
+ 761.7033478585
+ 762.4679225516
+ 762.9521388316
+ 763.4121816223
+ 764.2191940587
+ 764.8584398118
+ 765.7030582987
+ 766.3246054396
+ 766.8945393521
+ 767.4804863344
+ 768.549898282
+ 769.0724248217
+ 769.5598768844
+ 770.0075906714
+ 771.0511304086
+ 771.3618087961
+ 771.8554828074
+ 772.5415406394
+ 773.8316592955
+ 774.2342778298
+ 774.7121075155
+ 775.3977269092
+ 775.7841964027
+ 776.676090059
+ 777.5797066335
+ 778.2137968534
+ 778.7982728617
+ 779.3479665709
+ 779.9564449568
+ 780.5976969005
+ 781.054592128
+ 781.7892488953
+ 782.654818633
+ 783.0854269616
+ 783.9954790778
+ 784.6200582001
+ 785.0110937334
+ 786.2620308904
+ 786.4061120117
+ 787.3698462696
+ 787.5202801538
+ 788.5147336006
+ 789.0171619529
+ 789.7149272017
+ 790.4017218435
+ 790.83461823
+ 791.8454601846
+ 792.3229475541
+ 792.8555690461
+ 793.6824817862
+ 794.2494604355
+ 794.8643478829
+ 795.7108659659
+ 796.3599628579
+ 797.2415727207
+ 797.5367495806
+ 798.2405842527
+ 798.4808445315
+ 799.1140258006
+ 800.1561392321
+ 800.8559394303
+ 801.3394717495
+ 802.303512687
+ 802.7583089762
+ 803.3028993871
+ 803.8165934026
+ 804.8119519437
+ 805.583201496
+ 805.8640060142
+ 806.6989178963
+ 807.0969015865
+ 807.842135501
+ 808.5551619242
+ 809.0614773183
+ 809.9220540855
+ 810.4394871581
+ 810.954253284
diff --git a/srcpkgs/lcalc/patches/Lcommon.h.patch b/srcpkgs/lcalc/patches/Lcommon.h.patch
new file mode 100644
index 000000000000..c6b5c0aaa39e
--- /dev/null
+++ b/srcpkgs/lcalc/patches/Lcommon.h.patch
@@ -0,0 +1,11 @@
+--- src/include/Lcommon.h	2010-01-31 15:16:45.000000000 +0000
++++ src/include/Lcommon.h	2011-03-08 21:19:11.849443238 +0000
+@@ -25,7 +25,7 @@
+ #ifdef USE_MPFR
+ inline double lcalc_to_double(const double& x) { return x; }
+ #endif
+-//inline double lcalc_to_double(const long double& x) { return x; }
++inline double lcalc_to_double(const long double& x) { return x; }
+ inline double lcalc_to_double(const int& x) { return x; }
+ inline double lcalc_to_double(const long long& x) { return x; }
+ inline double lcalc_to_double(const short& x) { return x; }
diff --git a/srcpkgs/lcalc/patches/lcalc-1.23_default_parameters_1.patch b/srcpkgs/lcalc/patches/lcalc-1.23_default_parameters_1.patch
new file mode 100644
index 000000000000..b94fc72d18a5
--- /dev/null
+++ b/srcpkgs/lcalc/patches/lcalc-1.23_default_parameters_1.patch
@@ -0,0 +1,24 @@
+diff -Naur lcalc-1.23-vanilla/include/Ldirichlet_series.h lcalc-1.23-fixed-gcc.4.9/include/Ldirichlet_series.h
+--- lcalc-1.23-vanilla/include/Ldirichlet_series.h	2012-08-08 23:21:55.000000000 +0200
++++ lcalc-1.23-fixed-gcc.4.9/include/Ldirichlet_series.h	2014-04-21 14:37:59.027464849 +0200
+@@ -43,7 +43,7 @@
+  //XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ template <class ttype>
+ Complex L_function <ttype>::
+-dirichlet_series(Complex s, long long N=-1)
++dirichlet_series(Complex s, long long N)
+ {
+     Complex z=0.;
+     long long m,n;
+diff -Naur lcalc-1.23-vanilla/include/L.h lcalc-1.23-fixed-gcc.4.9/include/L.h
+--- lcalc-1.23-vanilla/include/L.h	2012-08-08 23:21:55.000000000 +0200
++++ lcalc-1.23-fixed-gcc.4.9/include/L.h	2014-04-21 14:32:04.003467348 +0200
+@@ -491,7 +491,7 @@
+ 
+     //#include "Ldirichlet_series.h" //for computing Dirichlet series
+     Complex partial_dirichlet_series(Complex s, long long N1, long long N2);
+-    Complex dirichlet_series(Complex s, long long N);
++    Complex dirichlet_series(Complex s, long long N=-1LL);
+ 
+     //#include "Ltaylor_series.h" //for computing taylor series for Dirichlet series
+     //void compute_taylor_series(int N, int K, Complex s_0, Complex *series);
diff --git a/srcpkgs/lcalc/patches/lcalc-1.23_default_parameters_2.patch b/srcpkgs/lcalc/patches/lcalc-1.23_default_parameters_2.patch
new file mode 100644
index 000000000000..f5fd45358d0b
--- /dev/null
+++ b/srcpkgs/lcalc/patches/lcalc-1.23_default_parameters_2.patch
@@ -0,0 +1,56 @@
+--- lcalc-1.23/include/Lgamma.h	2012-08-08 23:21:55.000000000 +0200
++++ lcalc-1.23/include/Lgamma.h	2014-05-18 21:15:27.786889718 +0200
+@@ -77,7 +77,7 @@
+ //n=0 should just give log_GAMMA(z)... thus making log_GAMMA
+ //code obsolete. But leave log_GAMMA intact anyways.
+ template <class ttype>
+-precise(ttype) log_GAMMA (ttype z,int n=0)
++precise(ttype) log_GAMMA (ttype z,int n)
+ {
+     int M;
+     precise(ttype) log_G,r,r2,y;
+@@ -230,7 +230,7 @@
+ //value exp_w which holds exp(-w)
+ //computes G(z,w), so there's an extra w^(-z) factor.
+ template <class ttype>
+-Complex inc_GAMMA (ttype z,ttype w, const char *method="temme", ttype exp_w = 0, bool recycle=false)
++Complex inc_GAMMA (ttype z,ttype w, const char *method, ttype exp_w, bool recycle)
+ {
+ 
+     Complex G;
+@@ -334,7 +334,7 @@
+ 
+ 
+ template <class ttype>
+-ttype cfrac_GAMMA (ttype z,ttype w, ttype exp_w=0, bool recycle=false)  //computes G(z,w) via continued fraction
++ttype cfrac_GAMMA (ttype z,ttype w, ttype exp_w, bool recycle)  //computes G(z,w) via continued fraction
+ {
+ 
+         ttype G;
+@@ -424,7 +424,7 @@
+ }
+ 
+ template <class ttype>
+-ttype asympt_GAMMA (ttype z,ttype w, ttype exp_w = 0, bool recycle=false)  //computes G(z,w) via asymptotic series
++ttype asympt_GAMMA (ttype z,ttype w, ttype exp_w, bool recycle)  //computes G(z,w) via asymptotic series
+ {
+ 
+         if(my_verbose>3) cout << "called asympt_GAMMA("<<z<<","<<w<<")"<< endl;
+@@ -446,7 +446,7 @@
+ 
+ 
+ template <class ttype>
+-ttype comp_inc_GAMMA (ttype z,ttype w,ttype exp_w = 0, bool recycle=false)  //computes g(z,w)
++ttype comp_inc_GAMMA (ttype z,ttype w,ttype exp_w, bool recycle)  //computes g(z,w)
+ {
+ 
+     ttype g;
+@@ -604,7 +604,7 @@
+ }
+ 
+ template <class ttype>
+-Complex gamma_sum(Complex s, int what_type, ttype *coeff, int N, Double g, Complex l, Double Q, Long Period, Complex delta=1, const char *method="temme")
++Complex gamma_sum(Complex s, int what_type, ttype *coeff, int N, Double g, Complex l, Double Q, Long Period, Complex delta, const char *method)
+ {
+     Complex SUM=0;
+ 
diff --git a/srcpkgs/lcalc/patches/lcalc-1.23_fix-const-char.patch b/srcpkgs/lcalc/patches/lcalc-1.23_fix-const-char.patch
new file mode 100644
index 000000000000..1640dda12bc4
--- /dev/null
+++ b/srcpkgs/lcalc/patches/lcalc-1.23_fix-const-char.patch
@@ -0,0 +1,53 @@
+diff --git a/include/cmdline.h b/include/cmdline.h
+index 319920a..41967e1 100644
+--- a/include/cmdline.h
++++ b/include/cmdline.h
+@@ -320,7 +320,7 @@ void cmdline_parser_free (struct gengetopt_args_info *args_info);
+ int cmdline_parser_required (struct gengetopt_args_info *args_info,
+   const char *prog_name);
+ 
+-extern char *cmdline_parser_output_character_values[] ;	/**< @brief Possible values for output-character.  */
++extern const char *cmdline_parser_output_character_values[] ;	/**< @brief Possible values for output-character.  */
+ 
+ 
+ #ifdef __cplusplus
+diff --git a/src/cmdline.c b/src/cmdline.c
+index 6daf7da..1087693 100644
+--- a/src/cmdline.c
++++ b/src/cmdline.c
+@@ -93,7 +93,7 @@ cmdline_parser_internal (int argc, char * const *argv, struct gengetopt_args_inf
+                         struct cmdline_parser_params *params, const char *additional_error);
+ 
+ 
+-char *cmdline_parser_output_character_values[] = {"1", "2", 0} ;	/* Possible values for output-character.  */
++const char *cmdline_parser_output_character_values[] = {"1", "2", 0} ;	/* Possible values for output-character.  */
+ 
+ static char *
+ gengetopt_strdup (const char *s);
+@@ -410,7 +410,7 @@ cmdline_parser_release (struct gengetopt_args_info *args_info)
+  * -2 if more than one value has matched
+  */
+ static int
+-check_possible_values(const char *val, char *values[])
++check_possible_values(const char *val, const char *values[])
+ {
+   int i, found, last;
+   size_t len;
+@@ -439,7 +439,7 @@ check_possible_values(const char *val, char *values[])
+ 
+ 
+ static void
+-write_into_file(FILE *outfile, const char *opt, const char *arg, char *values[])
++write_into_file(FILE *outfile, const char *opt, const char *arg, const char *values[])
+ {
+   int found = -1;
+   if (arg) {
+@@ -681,7 +681,7 @@ static char *package_name = 0;
+ static
+ int update_arg(void *field, char **orig_field,
+                unsigned int *field_given, unsigned int *prev_given, 
+-               char *value, char *possible_values[], const char *default_value,
++               char *value, const char *possible_values[], const char *default_value,
+                cmdline_parser_arg_type arg_type,
+                int check_ambiguity, int override,
+                int no_free, int multiple_option,
diff --git a/srcpkgs/lcalc/patches/lcalc-1.23_fix-return-non-void.patch b/srcpkgs/lcalc/patches/lcalc-1.23_fix-return-non-void.patch
new file mode 100644
index 000000000000..23850bbfbd56
--- /dev/null
+++ b/srcpkgs/lcalc/patches/lcalc-1.23_fix-return-non-void.patch
@@ -0,0 +1,20 @@
+diff --git a/include/Lvalue.h b/include/Lvalue.h
+index eef9ffa..01974c3 100644
+--- a/include/Lvalue.h
++++ b/include/Lvalue.h
+@@ -486,6 +486,15 @@
+             delete [] DELTA;
+             return L_value*exp(z-.5*log(OMEGA));
+         }
++
++        else // return L(s)
++        {
++            z=1;
++            for(j=1;j<=a;j++)
++                z=z*GAMMA(gamma[j]*s+lambda[j],DELTA[j]);
++            delete [] DELTA;
++            return L_value*exp(-log(Q)*s)/z;
++        }
+     }
+ 
+ 
diff --git a/srcpkgs/lcalc/patches/pari-2.7.patch b/srcpkgs/lcalc/patches/pari-2.7.patch
new file mode 100644
index 000000000000..d565490d98d3
--- /dev/null
+++ b/srcpkgs/lcalc/patches/pari-2.7.patch
@@ -0,0 +1,67 @@
+--- src/src/Lcommandline_elliptic.cc	2010-01-31 16:16:45.000000000 +0100
++++ src/src/Lcommandline_elliptic.cc	2011-05-10 17:08:10.000000000 +0200
+@@ -121,11 +121,11 @@
+ 
+ 
+     F = cgetg(6, t_VEC);
+-    F[1] = lgeti(BIGDEFAULTPREC);
+-    F[2] = lgeti(BIGDEFAULTPREC);
+-    F[3] = lgeti(BIGDEFAULTPREC);
+-    F[4] = lgeti(BIGDEFAULTPREC);
+-    F[5] = lgeti(BIGDEFAULTPREC);
++    F[1] = (long)cgeti(BIGDEFAULTPREC);
++    F[2] = (long)cgeti(BIGDEFAULTPREC);
++    F[3] = (long)cgeti(BIGDEFAULTPREC);
++    F[4] = (long)cgeti(BIGDEFAULTPREC);
++    F[5] = (long)cgeti(BIGDEFAULTPREC);
+ 
+     //gaffsg(a1,(GEN) F[1]);
+     //gaffsg(a2,(GEN) F[2]);
+@@ -133,15 +133,15 @@
+     //gaffsg(a4,(GEN) F[4]);
+     //gaffsg(a6,(GEN) F[5]);
+ 
+-    gaffect(strtoGEN(a1), (GEN) F[1]);
+-    gaffect(strtoGEN(a2), (GEN) F[2]);
+-    gaffect(strtoGEN(a3), (GEN) F[3]);
+-    gaffect(strtoGEN(a4), (GEN) F[4]);
+-    gaffect(strtoGEN(a6), (GEN) F[5]);
++    gaffect(gp_read_str(a1), (GEN) F[1]);
++    gaffect(gp_read_str(a2), (GEN) F[2]);
++    gaffect(gp_read_str(a3), (GEN) F[3]);
++    gaffect(gp_read_str(a4), (GEN) F[4]);
++    gaffect(gp_read_str(a6), (GEN) F[5]);
+ 
+-    E = initell(F,BIGDEFAULTPREC);
++    E = ellinit(F, NULL, BIGDEFAULTPREC);
+ 
+-    C=globalreduction(E);
++    C=ellglobalred(E);
+ 
+     x=gtodouble((GEN) C[1]);
+ 
+@@ -167,8 +167,8 @@
+ 
+             p=n;
+             gaffsg(p,y);
+-            coeff[p] = Double(1.*llrint(gtodouble(apell(E,y))))/sqrt(Double(1.*p));
+-            //coeff[p] = Double(1.*Long(gtodouble(apell(E,y))+.1))/sqrt(Double(1.*p));
++            coeff[p] = Double(1.*llrint(gtodouble(ellap(E,y))))/sqrt(Double(1.*p));
++            //coeff[p] = Double(1.*Long(gtodouble(ellap(E,y))+.1))/sqrt(Double(1.*p));
+ 
+             if(gtolong(gmod((GEN) E[12],(GEN) y))==0) // if p|discriminant, i.e. bad reduction
+             {
+diff -ru src/src/Lcommandline.cc b/src/Lcommandline.cc
+--- src/src/Lcommandline.cc	2012-08-08 23:21:56.000000000 +0200
++++ b/src/Lcommandline.cc	2014-01-06 14:02:19.463388366 +0100
+@@ -473,7 +473,9 @@
+ 
+ #ifdef INCLUDE_PARI
+         if(do_elliptic_curve){
+-             allocatemoremem((int) N_terms*16+1000000); //XXXXXXXXX this should depend on whether we're double or long double or mpfr double
++             // Reallocate PARI stack
++             paristack_setsize((size_t)N_terms*16 + 1000000, 0); //XXXXXXXXX this should depend on whether we're double or long double or mpfr double
++
+              if (my_verbose>0) cout << "Will precompute " << N_terms << " elliptic L-function dirichlet coefficients..." << endl;
+              initialize_new_L(a1,a2,a3,a4,a6,N_terms); 
+         }
diff --git a/srcpkgs/lcalc/patches/pari-mem.patch b/srcpkgs/lcalc/patches/pari-mem.patch
new file mode 100644
index 000000000000..1566681a909b
--- /dev/null
+++ b/srcpkgs/lcalc/patches/pari-mem.patch
@@ -0,0 +1,24 @@
+Use a much smaller PARI stack size for starting up
+
+Actually 1MB is sufficient, so there is plenty of margin
+with the 16MB in this patch
+
+See https://trac.sagemath.org/ticket/24516
+
+diff -ru lcalc-1.23/src/Lcommandline.cc lcalc-1.23-patched//src/Lcommandline.cc
+--- lcalc-1.23/src/Lcommandline.cc	2012-08-08 23:21:56.000000000 +0200
++++ lcalc-1.23-patched//src/Lcommandline.cc	2018-01-30 11:23:06.975418539 +0100
+@@ -412,12 +412,7 @@
+ 
+             t2=.5; //t2=.5 because of the GAMMA(s+1/2)
+ 
+-            pari_init(1000000000,2);
+-            //pari_init_opts(400000000,2,INIT_DFTm); // the last option is to prevent
+-            //pari from giving its interrupt signal when its elliptic curve a_p
+-            //algorithm is called and interrupted with ctrl-c. Requires a more current
+-            //version of pari, so use pari_init above until I have a configure set up
+-            //that detects which pari, if any, is installed.
++            pari_init_opts(16000000, 2, INIT_DFTm);
+ 
+             coeff = new Double[3];
+             //compute the conductor which is copied to coeff[1]
diff --git a/srcpkgs/lcalc/patches/pari_include.patch b/srcpkgs/lcalc/patches/pari_include.patch
new file mode 100644
index 000000000000..8ad1cc1cc43a
--- /dev/null
+++ b/srcpkgs/lcalc/patches/pari_include.patch
@@ -0,0 +1,30 @@
+Notes:
+Use a standard include path for pari. It means there is no need
+to specify an include path when pari headers are in a standard location.
+
+diff --git a/include/Lcommandline.h b/include/Lcommandline.h
+index 6537e98..5e63e4e 100644
+--- a/include/Lcommandline.h
++++ b/include/Lcommandline.h
+@@ -39,7 +39,7 @@
+ 
+ #include "Lcommandline_globals.h"      //command line global variables
+ #ifdef INCLUDE_PARI
+-#include "pari.h"          //for pari's elliptic curve functions
++#include "pari/pari.h"          //for pari's elliptic curve functions
+ #undef init                //pari has a '#define init pari_init' which
+                            //causes trouble with the stream.h init.
+                            //pari also causes trouble with things like abs.
+diff --git a/include/Lcommandline_elliptic.h b/include/Lcommandline_elliptic.h
+index 17fa42c..7d80208 100644
+--- a/include/Lcommandline_elliptic.h
++++ b/include/Lcommandline_elliptic.h
+@@ -32,7 +32,7 @@
+ 
+ 
+ #ifdef INCLUDE_PARI
+-#include "pari.h"          //for pari's elliptic curve functions 
++#include "pari/pari.h"          //for pari's elliptic curve functions
+ #undef init                //pari has a '#define init pari_init' which
+                            //causes trouble with the stream.h init.
+                            //pari also causes trouble with things like abs.
diff --git a/srcpkgs/lcalc/patches/using_namespace_std.patch b/srcpkgs/lcalc/patches/using_namespace_std.patch
new file mode 100644
index 000000000000..6d733ffd7115
--- /dev/null
+++ b/srcpkgs/lcalc/patches/using_namespace_std.patch
@@ -0,0 +1,41 @@
+diff --git a/include/Lcommon.h b/include/Lcommon.h
+index 1b3be43..bf40532 100644
+--- a/include/Lcommon.h
++++ b/include/Lcommon.h
+@@ -48,7 +48,7 @@ const bool outputSeries=true;	  // Whether to output the coefficients or just th
+ 
+ // Loop i from m to n
+ // Useful in tidying up most for loops
+-#define loop(i,m,n) for(typeof(m) i=(m); i!=(n); i++)
++#define loop(i,m,n) for(auto i=(m); i!=(n); i++)
+ 
+ // A class for calculations involving polynomials of small degree
+ // Not efficient enough for huge polynomials
+diff --git a/include/Lcommon_ld.h b/include/Lcommon_ld.h
+index 86ae4df..33c560c 100644
+--- a/include/Lcommon_ld.h
++++ b/include/Lcommon_ld.h
+@@ -53,7 +53,7 @@ const bool outputSeries=true;	  // Whether to output the coefficients or just th
+ 
+ // Loop i from m to n
+ // Useful in tidying up most for loops
+-#define loop(i,m,n) for(typeof(m) i=(m); i!=(n); i++)
++#define loop(i,m,n) for(auto i=(m); i!=(n); i++)
+ 
+ // A class for calculations involving polynomials of small degree
+ // Not efficient enough for huge polynomials
+diff --git a/include/Lglobals.h b/include/Lglobals.h
+index 60002e4..ca2606c 100644
+--- a/include/Lglobals.h
++++ b/include/Lglobals.h
+@@ -24,9 +24,9 @@
+ #ifndef Lglobals_H
+ #define Lglobals_H
+ 
++#include <valarray>
+ using namespace std;
+ 
+-#include <valarray>
+ #ifdef USE_MPFR
+     #include "Lgmpfrxx.h"
+     typedef mpfr_class Double;
diff --git a/srcpkgs/lcalc/template b/srcpkgs/lcalc/template
new file mode 100644
index 000000000000..e111b8b30565
--- /dev/null
+++ b/srcpkgs/lcalc/template
@@ -0,0 +1,44 @@
+# Template file for 'lcalc'
+pkgname=lcalc
+version=1.23
+revision=1
+build_wrksrc="src"
+build_style="gnu-makefile"
+makedepends="pari-devel"
+short_desc="Michael Rubinstein's L-function calculator"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="GPL-2.0-or-later"
+homepage="https://mirrors.mit.edu/sage/spkg/upstream/lcalc/"
+distfiles="${homepage}/${pkgname}-${version}.tar.bz2"
+checksum=83d4253ec2f38553b21190d6d0c6b71bab7ea14717f6dde5bd18f60775d3cdb0
+patch_args="-Np1"
+
+pre_build() {
+	CC="$CXX"
+	LDFLAGS+=" -lpari"
+	make_build_args+=" PARI_DEFINE=-DINCLUDE_PARI"
+}
+
+pre_install() {
+	mkdir -p ${DESTDIR}/usr/{bin,lib,include}
+	make_install_args+=" INSTALL_DIR=${DESTDIR}/usr"
+}
+
+do_check() {
+	echo "Testing lcalc ..."
+	. "${FILESDIR}/test" > test.log
+	case "$XBPS_TARGET_MACHINE" in
+		i686) 	OUT="${FILESDIR}/test.i686" ;;
+		*-musl) OUT="${FILESDIR}/test.musl" ;;
+		*) 	OUT="${FILESDIR}/test.out" ;;
+	esac
+	diff "$OUT" test.log && echo PASS
+}
+
+lcalc-devel_package() {
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove "usr/lib"
+		vmove "usr/include"
+	}
+}
diff --git a/srcpkgs/lcalc/update b/srcpkgs/lcalc/update
new file mode 100644
index 000000000000..3b871a7dba51
--- /dev/null
+++ b/srcpkgs/lcalc/update
@@ -0,0 +1,2 @@
+#pkgname=L
+#site="${homepage%/*}/CODE/"

From 69228d04b6cb275eede74729533227ef80cd2c3a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 3 Jun 2020 23:22:18 -0300
Subject: [PATCH 11/11] New package: mpfi-1.5.3

---
 common/shlibs         |  1 +
 srcpkgs/mpfi-devel    |  1 +
 srcpkgs/mpfi/template | 23 +++++++++++++++++++++++
 srcpkgs/mpfi/update   |  2 ++
 4 files changed, 27 insertions(+)
 create mode 120000 srcpkgs/mpfi-devel
 create mode 100644 srcpkgs/mpfi/template
 create mode 100644 srcpkgs/mpfi/update

diff --git a/common/shlibs b/common/shlibs
index 647ed636ebe1..35915084406f 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3962,6 +3962,7 @@ libflint.so.15 flintlib-2.7.1_1
 libgf2x.so.3 gf2x-1.3.0_1
 libgivaro.so.9 givaro-4.1.1_1
 liblinbox.so.0 linbox-1.6.3_1
+libmpfi.so.0 mpfi-1.5.3_1
 libntl.so.43 ntl-11.4.4_1
 libpari-gmp.so.7 pari-2.13.0_1
 libtree-sitter.so.0 tree-sitter-0.19.0_1
diff --git a/srcpkgs/mpfi-devel b/srcpkgs/mpfi-devel
new file mode 120000
index 000000000000..d36f752f91b3
--- /dev/null
+++ b/srcpkgs/mpfi-devel
@@ -0,0 +1 @@
+mpfi
\ No newline at end of file
diff --git a/srcpkgs/mpfi/template b/srcpkgs/mpfi/template
new file mode 100644
index 000000000000..90bb5be4686a
--- /dev/null
+++ b/srcpkgs/mpfi/template
@@ -0,0 +1,23 @@
+# Template file for 'mpfi'
+pkgname=mpfi
+version=1.5.3
+revision=1
+build_style="gnu-configure"
+makedepends="mpfr-devel"
+short_desc="C library for interval arithmetic"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="GPL-3.0-or-later"
+homepage="http://perso.ens-lyon.fr/nathalie.revol/software.html"
+distfiles="https://gforge.inria.fr/frs/download.php/file/37331/mpfi-${version}.tar.bz2"
+checksum=2383d457b208c6cd3cf2e66b69c4ce47477b2a0db31fbec0cd4b1ebaa247192f
+
+mpfi-devel_package() {
+	depends="mpfi-${version}_${revision}"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove "usr/include"
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+		vmove "usr/share/info"
+	}
+}
diff --git a/srcpkgs/mpfi/update b/srcpkgs/mpfi/update
new file mode 100644
index 000000000000..42221627a5cb
--- /dev/null
+++ b/srcpkgs/mpfi/update
@@ -0,0 +1,2 @@
+site="https://gforge.inria.fr/frs/?group_id=157"
+ignore=1.5.4

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

* Re: More math libraries and tools
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
@ 2021-04-06  3:53 ` abenson
  2021-04-06  5:05 ` Math packages: gf2x, ntl, flintlib, arb, eclib tornaria
                   ` (68 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: abenson @ 2021-04-06  3:53 UTC (permalink / raw)
  To: ml

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

New comment by abenson on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#issuecomment-813802609

Comment:
> This continues #29997.

Just add to that one.  At this point the two conflict -- it's easier to track when it's all in the same PR.

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

* Re: Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
  2021-04-06  3:53 ` abenson
@ 2021-04-06  5:05 ` tornaria
  2021-04-06  5:05 ` tornaria
                   ` (67 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: tornaria @ 2021-04-06  5:05 UTC (permalink / raw)
  To: ml

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

New comment by tornaria on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#issuecomment-813824490

Comment:
> > This continues #29997.
> 
> Just add to that one. At this point the two conflict -- it's easier to track when it's all in the same PR.

You are right. I rebased in several different and independent PR.


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

* Re: Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
  2021-04-06  3:53 ` abenson
  2021-04-06  5:05 ` Math packages: gf2x, ntl, flintlib, arb, eclib tornaria
@ 2021-04-06  5:05 ` tornaria
  2021-04-07 12:53 ` dkwo
                   ` (66 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: tornaria @ 2021-04-06  5:05 UTC (permalink / raw)
  To: ml

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

New comment by tornaria on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#issuecomment-813824490

Comment:
> > This continues #29997.
> 
> Just add to that one. At this point the two conflict -- it's easier to track when it's all in the same PR.

You are right. I rebased in several different and independent PR, I hope that makes it easier to review.


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

* Re: Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (2 preceding siblings ...)
  2021-04-06  5:05 ` tornaria
@ 2021-04-07 12:53 ` dkwo
  2021-04-09  2:10 ` [PR PATCH] [Updated] " tornaria
                   ` (65 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: dkwo @ 2021-04-07 12:53 UTC (permalink / raw)
  To: ml

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

New comment by dkwo on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#issuecomment-814889375

Comment:
I did not test `eclib`, the rest looks good to me.

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

* Re: [PR PATCH] [Updated] Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (3 preceding siblings ...)
  2021-04-07 12:53 ` dkwo
@ 2021-04-09  2:10 ` tornaria
  2021-05-13 17:57 ` tornaria
                   ` (64 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: tornaria @ 2021-04-09  2:10 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by tornaria against master on the void-packages repository

https://github.com/tornaria/void-packages math2
https://github.com/void-linux/void-packages/pull/30032

Math packages: gf2x, ntl, flintlib, arb, eclib
<!-- Mark items with [x] where applicable -->

#### General
- [x] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me

#### Notes
- This includes: `gf2x` (see also #29783), `ntl`, `flintlib`, `arb`, `eclib`.
- Everything is tested and check pass in x86_64, x86_64-musl, i686.

EDIT: split in smaller independent PR to ease review.

A patch file from https://github.com/void-linux/void-packages/pull/30032.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-math2-30032.patch --]
[-- Type: text/x-diff, Size: 16781 bytes --]

From 5bc4f34cd2443f9327426ead3fe6915c6e8863b1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 29 Jan 2018 11:18:35 -0300
Subject: [PATCH 1/6] New package: gf2x-1.3.0

---
 common/shlibs         |  1 +
 srcpkgs/gf2x-devel    |  1 +
 srcpkgs/gf2x/template | 34 ++++++++++++++++++++++++++++++++++
 srcpkgs/gf2x/update   |  1 +
 4 files changed, 37 insertions(+)
 create mode 120000 srcpkgs/gf2x-devel
 create mode 100644 srcpkgs/gf2x/template
 create mode 100644 srcpkgs/gf2x/update

diff --git a/common/shlibs b/common/shlibs
index 9aa0a601250b..e017738d0e2f 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3958,6 +3958,7 @@ libsimavrparts.so.1 simavr-1.6_2
 libsword-1.8.1.so libsword-1.8.1_6
 libpari-gmp.so.7 pari-2.13.0_1
 libtree-sitter.so.0 tree-sitter-0.19.0_1
+libgf2x.so.3 gf2x-1.3.0_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
 libwayland-cursor++.so.0 libwaylandpp-0.2.8_1
 libwayland-egl++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/gf2x-devel b/srcpkgs/gf2x-devel
new file mode 120000
index 000000000000..4542295e8de7
--- /dev/null
+++ b/srcpkgs/gf2x-devel
@@ -0,0 +1 @@
+gf2x
\ No newline at end of file
diff --git a/srcpkgs/gf2x/template b/srcpkgs/gf2x/template
new file mode 100644
index 000000000000..e9267578a2c6
--- /dev/null
+++ b/srcpkgs/gf2x/template
@@ -0,0 +1,34 @@
+# Template file for 'gf2x'
+pkgname=gf2x
+version=1.3.0
+revision=1
+wrksrc=gf2x-gf2x-${version}
+build_style="gnu-configure"
+hostmakedepends="automake libtool"
+short_desc="C/C++ library for fast arithmetic in GF(2)[x]"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="GPL-3.0-or-later"
+homepage="https://gitlab.inria.fr/gf2x/gf2x"
+distfiles="https://gitlab.inria.fr/gf2x/gf2x/-/archive/gf2x-${version}/gf2x-gf2x-${version}.tar.gz"
+checksum=11bcf98b620c60c2ee3b4460b02b7be741f14cfdc26b542f22c92950926575e0
+
+build_options="native"
+
+if [ ! "$build_option_native" ]; then
+	configure_args="--disable-sse3"
+fi
+
+pre_configure() {
+	autoreconf -fi
+}
+
+gf2x-devel_package() {
+	depends="gf2x-${version}_${revision}"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove "usr/include"
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+		vmove "usr/lib/pkgconfig"
+	}
+}
diff --git a/srcpkgs/gf2x/update b/srcpkgs/gf2x/update
new file mode 100644
index 000000000000..504503610161
--- /dev/null
+++ b/srcpkgs/gf2x/update
@@ -0,0 +1 @@
+pkgname=gf2x-gf2x

From 4dfba65ff80f797989a0ac910377b00fec8d3bd4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 30 Jan 2018 11:02:38 -0300
Subject: [PATCH 2/6] New package: ntl-11.4.4

---
 common/shlibs        |  1 +
 srcpkgs/ntl-devel    |  1 +
 srcpkgs/ntl/template | 36 ++++++++++++++++++++++++++++++++++++
 srcpkgs/ntl/update   |  1 +
 4 files changed, 39 insertions(+)
 create mode 120000 srcpkgs/ntl-devel
 create mode 100644 srcpkgs/ntl/template
 create mode 100644 srcpkgs/ntl/update

diff --git a/common/shlibs b/common/shlibs
index e017738d0e2f..6fd7cbd1d29d 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3959,6 +3959,7 @@ libsword-1.8.1.so libsword-1.8.1_6
 libpari-gmp.so.7 pari-2.13.0_1
 libtree-sitter.so.0 tree-sitter-0.19.0_1
 libgf2x.so.3 gf2x-1.3.0_1
+libntl.so.43 ntl-11.4.4_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
 libwayland-cursor++.so.0 libwaylandpp-0.2.8_1
 libwayland-egl++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/ntl-devel b/srcpkgs/ntl-devel
new file mode 120000
index 000000000000..fc0a39987329
--- /dev/null
+++ b/srcpkgs/ntl-devel
@@ -0,0 +1 @@
+ntl
\ No newline at end of file
diff --git a/srcpkgs/ntl/template b/srcpkgs/ntl/template
new file mode 100644
index 000000000000..e140298eb559
--- /dev/null
+++ b/srcpkgs/ntl/template
@@ -0,0 +1,36 @@
+# Template file for 'ntl'
+pkgname=ntl
+version=11.4.4
+revision=1
+build_wrksrc="src"
+build_style="configure"
+hostmakedepends="perl"
+makedepends="gmp-devel gf2x-devel"
+short_desc="Library for doing Number Theory"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="LGPL-2.1-or-later"
+homepage="https://libntl.org"
+distfiles="https://libntl.org/ntl-${version}.tar.gz"
+checksum=9d7f6e82e11a409f151c0de2deb08c0d763baf9834fddfd432bf3d218f8021db
+nocross=yes
+
+build_options="native"
+
+do_configure() {
+	# see http://www.shoup.net/ntl/doc/tour-unix.html
+	./configure CXX="$CXX" CXXFLAGS="$CXXFLAGS" \
+		PREFIX="/usr" SHARED="on" NTL_GF2X_LIB="on" \
+		NATIVE="$(vopt_if native 'on' 'off')"
+}
+
+ntl-devel_package() {
+	depends="ntl-${version}_${revision}"
+	depends+=" gmp-devel gf2x-devel"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove "usr/include"
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+		vmove "usr/share"
+	}
+}
diff --git a/srcpkgs/ntl/update b/srcpkgs/ntl/update
new file mode 100644
index 000000000000..8ccb86344234
--- /dev/null
+++ b/srcpkgs/ntl/update
@@ -0,0 +1 @@
+site="${homepage}/download.html"

From 4e05b666b7936fd3bbeb41d3115ca10a4885ed59 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Fri, 2 Feb 2018 22:42:49 -0300
Subject: [PATCH 3/6] New package: flintlib-2.7.1

---
 common/shlibs             |  1 +
 srcpkgs/flintlib-devel    |  1 +
 srcpkgs/flintlib/template | 30 ++++++++++++++++++++++++++++++
 srcpkgs/flintlib/update   |  2 ++
 4 files changed, 34 insertions(+)
 create mode 120000 srcpkgs/flintlib-devel
 create mode 100644 srcpkgs/flintlib/template
 create mode 100644 srcpkgs/flintlib/update

diff --git a/common/shlibs b/common/shlibs
index 6fd7cbd1d29d..257b2423ef48 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3960,6 +3960,7 @@ libpari-gmp.so.7 pari-2.13.0_1
 libtree-sitter.so.0 tree-sitter-0.19.0_1
 libgf2x.so.3 gf2x-1.3.0_1
 libntl.so.43 ntl-11.4.4_1
+libflint.so.15 flintlib-2.7.1_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
 libwayland-cursor++.so.0 libwaylandpp-0.2.8_1
 libwayland-egl++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/flintlib-devel b/srcpkgs/flintlib-devel
new file mode 120000
index 000000000000..7c2633183069
--- /dev/null
+++ b/srcpkgs/flintlib-devel
@@ -0,0 +1 @@
+flintlib
\ No newline at end of file
diff --git a/srcpkgs/flintlib/template b/srcpkgs/flintlib/template
new file mode 100644
index 000000000000..149cb66f3187
--- /dev/null
+++ b/srcpkgs/flintlib/template
@@ -0,0 +1,30 @@
+# Template file for 'flintlib'
+pkgname=flintlib
+version=2.7.1
+revision=1
+wrksrc="flint-${version}"
+build_style="configure"
+configure_args="--prefix=/usr --with-gmp=/usr --with-mpfr=/usr --with-ntl=/usr"
+makedepends="mpfr-devel ntl-devel"
+short_desc="Fast Library for Number Theory"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="LGPL-2.1-or-later"
+homepage="https://flintlib.org"
+distfiles="https://flintlib.org/flint-${version}.tar.gz"
+checksum=186e2fd9ab67df8a05b122fb018269b382e4babcdb17353c4be1fe364dca481e
+nocross=yes
+
+if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
+	CFLAGS="-D_GNU_SOURCE"
+fi
+
+flintlib-devel_package() {
+	depends="flintlib-${version}_${revision}"
+	depends+=" mpfr-devel"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove "usr/include"
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+	}
+}
diff --git a/srcpkgs/flintlib/update b/srcpkgs/flintlib/update
new file mode 100644
index 000000000000..8eee53cf22f2
--- /dev/null
+++ b/srcpkgs/flintlib/update
@@ -0,0 +1,2 @@
+pkgname=flint
+site="${homepage}/downloads.html"

From 21b2fd43fe75fa16ff2e89709311fc4f8e2ae11a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 4 Feb 2018 01:00:19 -0300
Subject: [PATCH 4/6] New package: arb-2.19.0

---
 common/shlibs        |  1 +
 srcpkgs/arb-devel    |  1 +
 srcpkgs/arb/template | 29 +++++++++++++++++++++++++++++
 3 files changed, 31 insertions(+)
 create mode 120000 srcpkgs/arb-devel
 create mode 100644 srcpkgs/arb/template

diff --git a/common/shlibs b/common/shlibs
index 257b2423ef48..85a262ec5070 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3961,6 +3961,7 @@ libtree-sitter.so.0 tree-sitter-0.19.0_1
 libgf2x.so.3 gf2x-1.3.0_1
 libntl.so.43 ntl-11.4.4_1
 libflint.so.15 flintlib-2.7.1_1
+libarb.so.2 arb-2.19.0_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
 libwayland-cursor++.so.0 libwaylandpp-0.2.8_1
 libwayland-egl++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/arb-devel b/srcpkgs/arb-devel
new file mode 120000
index 000000000000..456b9f00a86c
--- /dev/null
+++ b/srcpkgs/arb-devel
@@ -0,0 +1 @@
+arb
\ No newline at end of file
diff --git a/srcpkgs/arb/template b/srcpkgs/arb/template
new file mode 100644
index 000000000000..7c7df0aace15
--- /dev/null
+++ b/srcpkgs/arb/template
@@ -0,0 +1,29 @@
+# Template file for 'arb'
+pkgname=arb
+version=2.19.0
+revision=1
+build_style="configure"
+configure_args="--prefix=/usr --with-gmp=/usr --with-mpfr=/usr --with-flint=/usr"
+makedepends="flintlib-devel"
+short_desc="C library for arbitrary-precision interval arithmetic"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="LGPL-2.1-or-later"
+homepage="https://arblib.org"
+distfiles="https://github.com/fredrik-johansson/arb/archive/${version}.tar.gz"
+checksum=0aec6b492b6e9a543bdb3287a91f976951e2ba74fd4de942e692e21f7edbcf13
+nocross=yes
+
+if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
+	CFLAGS="-D_GNU_SOURCE"
+fi
+
+arb-devel_package() {
+	depends="arb-${version}_${revision}"
+	depends+=" flintlib-devel"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove "usr/include"
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+	}
+}

From e1713d4cbc323267e5ce3b4e92a22822f685496c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 Jun 2020 14:50:01 -0300
Subject: [PATCH 5/6] New package: eclib-20210318

---
 common/shlibs                             |  1 +
 srcpkgs/eclib-devel                       |  1 +
 srcpkgs/eclib/patches/set_precision.patch | 34 +++++++++++++++++++++++
 srcpkgs/eclib/template                    | 30 ++++++++++++++++++++
 4 files changed, 66 insertions(+)
 create mode 120000 srcpkgs/eclib-devel
 create mode 100644 srcpkgs/eclib/patches/set_precision.patch
 create mode 100644 srcpkgs/eclib/template

diff --git a/common/shlibs b/common/shlibs
index 85a262ec5070..274e456db446 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3962,6 +3962,7 @@ libgf2x.so.3 gf2x-1.3.0_1
 libntl.so.43 ntl-11.4.4_1
 libflint.so.15 flintlib-2.7.1_1
 libarb.so.2 arb-2.19.0_1
+libec.so.7 eclib-20210318_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
 libwayland-cursor++.so.0 libwaylandpp-0.2.8_1
 libwayland-egl++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/eclib-devel b/srcpkgs/eclib-devel
new file mode 120000
index 000000000000..d29e610e9249
--- /dev/null
+++ b/srcpkgs/eclib-devel
@@ -0,0 +1 @@
+eclib
\ No newline at end of file
diff --git a/srcpkgs/eclib/patches/set_precision.patch b/srcpkgs/eclib/patches/set_precision.patch
new file mode 100644
index 000000000000..d1b6072ff399
--- /dev/null
+++ b/srcpkgs/eclib/patches/set_precision.patch
@@ -0,0 +1,34 @@
+This changes 0.3 by 0.3L, otherwise tests fail in i686 due to different rounding.
+
+See: https://github.com/JohnCremona/eclib/issues/68
+
+--- libsrc/eclib/interface.h    2021-03-18 12:22:52.000000000 -0300
++++ libsrc/eclib/interface.h    2021-04-05 15:15:52.355310137 -0300
+@@ -240,7 +240,7 @@
+ 
+ // Set internal precision to n bits and output precision to (0.3*n)-1 decimal places
+ inline void set_precision(long n)
+-{RR::SetPrecision(n); RR::SetOutputPrecision(long(0.3*n)-1);}
++{RR::SetPrecision(n); RR::SetOutputPrecision(long(0.3L*n)-1);}
+ 
+ // Mostly for backward compatibility (used in saturate.cc) or for
+ // temporarily changing internal precision when no output is relevant:
+@@ -252,7 +252,7 @@
+   {long n; cerr<<prompt<<": "; cin>>n; set_precision(n);}
+ 
+ // read current precision converted to decimal (approximately)
+-inline long decimal_precision() {return long(RR::precision()*0.3);}
++inline long decimal_precision() {return long(RR::precision()*0.3L);}
+ 
+ // read current bit precision
+ inline long bit_precision() {return RR::precision();}
+@@ -289,7 +289,7 @@
+ inline int is_approx_zero(double x) {return fabs(x)<1e-10;}
+ 
+ // We cannot set internal bit precision in this mode, so we just set the output decimal precision
+-inline void set_precision(long n) {cout.precision(min(15,long(0.3*n)));}
++inline void set_precision(long n) {cout.precision(min(15,long(0.3L*n)));}
+ inline void set_precision(const string prompt)  {cout.precision(15);}
+ #define Pi()    3.1415926535897932384626433832795028841
+ #define Euler() (0.57721566490153286060651209008240243104)
+
diff --git a/srcpkgs/eclib/template b/srcpkgs/eclib/template
new file mode 100644
index 000000000000..e545d06eb5e4
--- /dev/null
+++ b/srcpkgs/eclib/template
@@ -0,0 +1,30 @@
+# Template file for 'eclib'
+pkgname=eclib
+version=20210318
+revision=1
+build_style=gnu-configure
+configure_args="--with-flint --with-boost"
+hostmakedepends="automake autoconf-archive libtool"
+makedepends="pari-devel ntl-devel flintlib-devel boost-devel"
+short_desc="Elliptic curve library, includes mwrank"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="GPL-2.0-or-later"
+homepage="https://github.com/JohnCremona/eclib"
+distfiles="https://github.com/JohnCremona/eclib/archive/refs/tags/${version}.tar.gz"
+checksum=8ca611e818cc3acdd54c800be66f66219a52603516bff048d350dd1e95605484
+
+pre_configure() {
+	./autogen.sh
+}
+
+eclib-devel_package() {
+	depends="eclib-${version}_${revision}"
+	depends+=" ntl-devel"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove "usr/include"
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+		vmove "usr/lib/pkgconfig"
+	}
+}

From 489dd593d2f64e456d5658f5c79b979a7cf3d901 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 8 Apr 2021 22:58:13 -0300
Subject: [PATCH 6/6] eclib: update to 20210408.

---
 srcpkgs/eclib/patches/set_precision.patch | 34 -----------------------
 srcpkgs/eclib/template                    |  4 +--
 2 files changed, 2 insertions(+), 36 deletions(-)
 delete mode 100644 srcpkgs/eclib/patches/set_precision.patch

diff --git a/srcpkgs/eclib/patches/set_precision.patch b/srcpkgs/eclib/patches/set_precision.patch
deleted file mode 100644
index d1b6072ff399..000000000000
--- a/srcpkgs/eclib/patches/set_precision.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-This changes 0.3 by 0.3L, otherwise tests fail in i686 due to different rounding.
-
-See: https://github.com/JohnCremona/eclib/issues/68
-
---- libsrc/eclib/interface.h    2021-03-18 12:22:52.000000000 -0300
-+++ libsrc/eclib/interface.h    2021-04-05 15:15:52.355310137 -0300
-@@ -240,7 +240,7 @@
- 
- // Set internal precision to n bits and output precision to (0.3*n)-1 decimal places
- inline void set_precision(long n)
--{RR::SetPrecision(n); RR::SetOutputPrecision(long(0.3*n)-1);}
-+{RR::SetPrecision(n); RR::SetOutputPrecision(long(0.3L*n)-1);}
- 
- // Mostly for backward compatibility (used in saturate.cc) or for
- // temporarily changing internal precision when no output is relevant:
-@@ -252,7 +252,7 @@
-   {long n; cerr<<prompt<<": "; cin>>n; set_precision(n);}
- 
- // read current precision converted to decimal (approximately)
--inline long decimal_precision() {return long(RR::precision()*0.3);}
-+inline long decimal_precision() {return long(RR::precision()*0.3L);}
- 
- // read current bit precision
- inline long bit_precision() {return RR::precision();}
-@@ -289,7 +289,7 @@
- inline int is_approx_zero(double x) {return fabs(x)<1e-10;}
- 
- // We cannot set internal bit precision in this mode, so we just set the output decimal precision
--inline void set_precision(long n) {cout.precision(min(15,long(0.3*n)));}
-+inline void set_precision(long n) {cout.precision(min(15,long(0.3L*n)));}
- inline void set_precision(const string prompt)  {cout.precision(15);}
- #define Pi()    3.1415926535897932384626433832795028841
- #define Euler() (0.57721566490153286060651209008240243104)
-
diff --git a/srcpkgs/eclib/template b/srcpkgs/eclib/template
index e545d06eb5e4..542ae4aae14f 100644
--- a/srcpkgs/eclib/template
+++ b/srcpkgs/eclib/template
@@ -1,6 +1,6 @@
 # Template file for 'eclib'
 pkgname=eclib
-version=20210318
+version=20210408
 revision=1
 build_style=gnu-configure
 configure_args="--with-flint --with-boost"
@@ -11,7 +11,7 @@ maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="GPL-2.0-or-later"
 homepage="https://github.com/JohnCremona/eclib"
 distfiles="https://github.com/JohnCremona/eclib/archive/refs/tags/${version}.tar.gz"
-checksum=8ca611e818cc3acdd54c800be66f66219a52603516bff048d350dd1e95605484
+checksum=5354ea8edfedff7f10adeb8c5f8f3705dbeccb56e2840ab1eb2b3fad981c0e22
 
 pre_configure() {
 	./autogen.sh

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

* Re: [PR PATCH] [Updated] Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (4 preceding siblings ...)
  2021-04-09  2:10 ` [PR PATCH] [Updated] " tornaria
@ 2021-05-13 17:57 ` tornaria
  2021-05-13 18:25 ` tornaria
                   ` (63 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: tornaria @ 2021-05-13 17:57 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by tornaria against master on the void-packages repository

https://github.com/tornaria/void-packages math2
https://github.com/void-linux/void-packages/pull/30032

Math packages: gf2x, ntl, flintlib, arb, eclib
<!-- Mark items with [x] where applicable -->

#### General
- [x] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me

#### Notes
- This includes: `gf2x` (see also #29783), `ntl`, `flintlib`, `arb`, `eclib`.
- Everything is tested and check pass in x86_64, x86_64-musl, i686.

EDIT: split in smaller independent PR to ease review.

A patch file from https://github.com/void-linux/void-packages/pull/30032.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-math2-30032.patch --]
[-- Type: text/x-diff, Size: 16781 bytes --]

From 5bc4f34cd2443f9327426ead3fe6915c6e8863b1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 29 Jan 2018 11:18:35 -0300
Subject: [PATCH 1/6] New package: gf2x-1.3.0

---
 common/shlibs         |  1 +
 srcpkgs/gf2x-devel    |  1 +
 srcpkgs/gf2x/template | 34 ++++++++++++++++++++++++++++++++++
 srcpkgs/gf2x/update   |  1 +
 4 files changed, 37 insertions(+)
 create mode 120000 srcpkgs/gf2x-devel
 create mode 100644 srcpkgs/gf2x/template
 create mode 100644 srcpkgs/gf2x/update

diff --git a/common/shlibs b/common/shlibs
index 9aa0a601250b..e017738d0e2f 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3958,6 +3958,7 @@ libsimavrparts.so.1 simavr-1.6_2
 libsword-1.8.1.so libsword-1.8.1_6
 libpari-gmp.so.7 pari-2.13.0_1
 libtree-sitter.so.0 tree-sitter-0.19.0_1
+libgf2x.so.3 gf2x-1.3.0_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
 libwayland-cursor++.so.0 libwaylandpp-0.2.8_1
 libwayland-egl++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/gf2x-devel b/srcpkgs/gf2x-devel
new file mode 120000
index 000000000000..4542295e8de7
--- /dev/null
+++ b/srcpkgs/gf2x-devel
@@ -0,0 +1 @@
+gf2x
\ No newline at end of file
diff --git a/srcpkgs/gf2x/template b/srcpkgs/gf2x/template
new file mode 100644
index 000000000000..e9267578a2c6
--- /dev/null
+++ b/srcpkgs/gf2x/template
@@ -0,0 +1,34 @@
+# Template file for 'gf2x'
+pkgname=gf2x
+version=1.3.0
+revision=1
+wrksrc=gf2x-gf2x-${version}
+build_style="gnu-configure"
+hostmakedepends="automake libtool"
+short_desc="C/C++ library for fast arithmetic in GF(2)[x]"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="GPL-3.0-or-later"
+homepage="https://gitlab.inria.fr/gf2x/gf2x"
+distfiles="https://gitlab.inria.fr/gf2x/gf2x/-/archive/gf2x-${version}/gf2x-gf2x-${version}.tar.gz"
+checksum=11bcf98b620c60c2ee3b4460b02b7be741f14cfdc26b542f22c92950926575e0
+
+build_options="native"
+
+if [ ! "$build_option_native" ]; then
+	configure_args="--disable-sse3"
+fi
+
+pre_configure() {
+	autoreconf -fi
+}
+
+gf2x-devel_package() {
+	depends="gf2x-${version}_${revision}"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove "usr/include"
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+		vmove "usr/lib/pkgconfig"
+	}
+}
diff --git a/srcpkgs/gf2x/update b/srcpkgs/gf2x/update
new file mode 100644
index 000000000000..504503610161
--- /dev/null
+++ b/srcpkgs/gf2x/update
@@ -0,0 +1 @@
+pkgname=gf2x-gf2x

From 4dfba65ff80f797989a0ac910377b00fec8d3bd4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 30 Jan 2018 11:02:38 -0300
Subject: [PATCH 2/6] New package: ntl-11.4.4

---
 common/shlibs        |  1 +
 srcpkgs/ntl-devel    |  1 +
 srcpkgs/ntl/template | 36 ++++++++++++++++++++++++++++++++++++
 srcpkgs/ntl/update   |  1 +
 4 files changed, 39 insertions(+)
 create mode 120000 srcpkgs/ntl-devel
 create mode 100644 srcpkgs/ntl/template
 create mode 100644 srcpkgs/ntl/update

diff --git a/common/shlibs b/common/shlibs
index e017738d0e2f..6fd7cbd1d29d 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3959,6 +3959,7 @@ libsword-1.8.1.so libsword-1.8.1_6
 libpari-gmp.so.7 pari-2.13.0_1
 libtree-sitter.so.0 tree-sitter-0.19.0_1
 libgf2x.so.3 gf2x-1.3.0_1
+libntl.so.43 ntl-11.4.4_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
 libwayland-cursor++.so.0 libwaylandpp-0.2.8_1
 libwayland-egl++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/ntl-devel b/srcpkgs/ntl-devel
new file mode 120000
index 000000000000..fc0a39987329
--- /dev/null
+++ b/srcpkgs/ntl-devel
@@ -0,0 +1 @@
+ntl
\ No newline at end of file
diff --git a/srcpkgs/ntl/template b/srcpkgs/ntl/template
new file mode 100644
index 000000000000..e140298eb559
--- /dev/null
+++ b/srcpkgs/ntl/template
@@ -0,0 +1,36 @@
+# Template file for 'ntl'
+pkgname=ntl
+version=11.4.4
+revision=1
+build_wrksrc="src"
+build_style="configure"
+hostmakedepends="perl"
+makedepends="gmp-devel gf2x-devel"
+short_desc="Library for doing Number Theory"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="LGPL-2.1-or-later"
+homepage="https://libntl.org"
+distfiles="https://libntl.org/ntl-${version}.tar.gz"
+checksum=9d7f6e82e11a409f151c0de2deb08c0d763baf9834fddfd432bf3d218f8021db
+nocross=yes
+
+build_options="native"
+
+do_configure() {
+	# see http://www.shoup.net/ntl/doc/tour-unix.html
+	./configure CXX="$CXX" CXXFLAGS="$CXXFLAGS" \
+		PREFIX="/usr" SHARED="on" NTL_GF2X_LIB="on" \
+		NATIVE="$(vopt_if native 'on' 'off')"
+}
+
+ntl-devel_package() {
+	depends="ntl-${version}_${revision}"
+	depends+=" gmp-devel gf2x-devel"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove "usr/include"
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+		vmove "usr/share"
+	}
+}
diff --git a/srcpkgs/ntl/update b/srcpkgs/ntl/update
new file mode 100644
index 000000000000..8ccb86344234
--- /dev/null
+++ b/srcpkgs/ntl/update
@@ -0,0 +1 @@
+site="${homepage}/download.html"

From 4e05b666b7936fd3bbeb41d3115ca10a4885ed59 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Fri, 2 Feb 2018 22:42:49 -0300
Subject: [PATCH 3/6] New package: flintlib-2.7.1

---
 common/shlibs             |  1 +
 srcpkgs/flintlib-devel    |  1 +
 srcpkgs/flintlib/template | 30 ++++++++++++++++++++++++++++++
 srcpkgs/flintlib/update   |  2 ++
 4 files changed, 34 insertions(+)
 create mode 120000 srcpkgs/flintlib-devel
 create mode 100644 srcpkgs/flintlib/template
 create mode 100644 srcpkgs/flintlib/update

diff --git a/common/shlibs b/common/shlibs
index 6fd7cbd1d29d..257b2423ef48 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3960,6 +3960,7 @@ libpari-gmp.so.7 pari-2.13.0_1
 libtree-sitter.so.0 tree-sitter-0.19.0_1
 libgf2x.so.3 gf2x-1.3.0_1
 libntl.so.43 ntl-11.4.4_1
+libflint.so.15 flintlib-2.7.1_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
 libwayland-cursor++.so.0 libwaylandpp-0.2.8_1
 libwayland-egl++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/flintlib-devel b/srcpkgs/flintlib-devel
new file mode 120000
index 000000000000..7c2633183069
--- /dev/null
+++ b/srcpkgs/flintlib-devel
@@ -0,0 +1 @@
+flintlib
\ No newline at end of file
diff --git a/srcpkgs/flintlib/template b/srcpkgs/flintlib/template
new file mode 100644
index 000000000000..149cb66f3187
--- /dev/null
+++ b/srcpkgs/flintlib/template
@@ -0,0 +1,30 @@
+# Template file for 'flintlib'
+pkgname=flintlib
+version=2.7.1
+revision=1
+wrksrc="flint-${version}"
+build_style="configure"
+configure_args="--prefix=/usr --with-gmp=/usr --with-mpfr=/usr --with-ntl=/usr"
+makedepends="mpfr-devel ntl-devel"
+short_desc="Fast Library for Number Theory"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="LGPL-2.1-or-later"
+homepage="https://flintlib.org"
+distfiles="https://flintlib.org/flint-${version}.tar.gz"
+checksum=186e2fd9ab67df8a05b122fb018269b382e4babcdb17353c4be1fe364dca481e
+nocross=yes
+
+if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
+	CFLAGS="-D_GNU_SOURCE"
+fi
+
+flintlib-devel_package() {
+	depends="flintlib-${version}_${revision}"
+	depends+=" mpfr-devel"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove "usr/include"
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+	}
+}
diff --git a/srcpkgs/flintlib/update b/srcpkgs/flintlib/update
new file mode 100644
index 000000000000..8eee53cf22f2
--- /dev/null
+++ b/srcpkgs/flintlib/update
@@ -0,0 +1,2 @@
+pkgname=flint
+site="${homepage}/downloads.html"

From 21b2fd43fe75fa16ff2e89709311fc4f8e2ae11a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 4 Feb 2018 01:00:19 -0300
Subject: [PATCH 4/6] New package: arb-2.19.0

---
 common/shlibs        |  1 +
 srcpkgs/arb-devel    |  1 +
 srcpkgs/arb/template | 29 +++++++++++++++++++++++++++++
 3 files changed, 31 insertions(+)
 create mode 120000 srcpkgs/arb-devel
 create mode 100644 srcpkgs/arb/template

diff --git a/common/shlibs b/common/shlibs
index 257b2423ef48..85a262ec5070 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3961,6 +3961,7 @@ libtree-sitter.so.0 tree-sitter-0.19.0_1
 libgf2x.so.3 gf2x-1.3.0_1
 libntl.so.43 ntl-11.4.4_1
 libflint.so.15 flintlib-2.7.1_1
+libarb.so.2 arb-2.19.0_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
 libwayland-cursor++.so.0 libwaylandpp-0.2.8_1
 libwayland-egl++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/arb-devel b/srcpkgs/arb-devel
new file mode 120000
index 000000000000..456b9f00a86c
--- /dev/null
+++ b/srcpkgs/arb-devel
@@ -0,0 +1 @@
+arb
\ No newline at end of file
diff --git a/srcpkgs/arb/template b/srcpkgs/arb/template
new file mode 100644
index 000000000000..7c7df0aace15
--- /dev/null
+++ b/srcpkgs/arb/template
@@ -0,0 +1,29 @@
+# Template file for 'arb'
+pkgname=arb
+version=2.19.0
+revision=1
+build_style="configure"
+configure_args="--prefix=/usr --with-gmp=/usr --with-mpfr=/usr --with-flint=/usr"
+makedepends="flintlib-devel"
+short_desc="C library for arbitrary-precision interval arithmetic"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="LGPL-2.1-or-later"
+homepage="https://arblib.org"
+distfiles="https://github.com/fredrik-johansson/arb/archive/${version}.tar.gz"
+checksum=0aec6b492b6e9a543bdb3287a91f976951e2ba74fd4de942e692e21f7edbcf13
+nocross=yes
+
+if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
+	CFLAGS="-D_GNU_SOURCE"
+fi
+
+arb-devel_package() {
+	depends="arb-${version}_${revision}"
+	depends+=" flintlib-devel"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove "usr/include"
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+	}
+}

From e1713d4cbc323267e5ce3b4e92a22822f685496c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 Jun 2020 14:50:01 -0300
Subject: [PATCH 5/6] New package: eclib-20210318

---
 common/shlibs                             |  1 +
 srcpkgs/eclib-devel                       |  1 +
 srcpkgs/eclib/patches/set_precision.patch | 34 +++++++++++++++++++++++
 srcpkgs/eclib/template                    | 30 ++++++++++++++++++++
 4 files changed, 66 insertions(+)
 create mode 120000 srcpkgs/eclib-devel
 create mode 100644 srcpkgs/eclib/patches/set_precision.patch
 create mode 100644 srcpkgs/eclib/template

diff --git a/common/shlibs b/common/shlibs
index 85a262ec5070..274e456db446 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3962,6 +3962,7 @@ libgf2x.so.3 gf2x-1.3.0_1
 libntl.so.43 ntl-11.4.4_1
 libflint.so.15 flintlib-2.7.1_1
 libarb.so.2 arb-2.19.0_1
+libec.so.7 eclib-20210318_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
 libwayland-cursor++.so.0 libwaylandpp-0.2.8_1
 libwayland-egl++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/eclib-devel b/srcpkgs/eclib-devel
new file mode 120000
index 000000000000..d29e610e9249
--- /dev/null
+++ b/srcpkgs/eclib-devel
@@ -0,0 +1 @@
+eclib
\ No newline at end of file
diff --git a/srcpkgs/eclib/patches/set_precision.patch b/srcpkgs/eclib/patches/set_precision.patch
new file mode 100644
index 000000000000..d1b6072ff399
--- /dev/null
+++ b/srcpkgs/eclib/patches/set_precision.patch
@@ -0,0 +1,34 @@
+This changes 0.3 by 0.3L, otherwise tests fail in i686 due to different rounding.
+
+See: https://github.com/JohnCremona/eclib/issues/68
+
+--- libsrc/eclib/interface.h    2021-03-18 12:22:52.000000000 -0300
++++ libsrc/eclib/interface.h    2021-04-05 15:15:52.355310137 -0300
+@@ -240,7 +240,7 @@
+ 
+ // Set internal precision to n bits and output precision to (0.3*n)-1 decimal places
+ inline void set_precision(long n)
+-{RR::SetPrecision(n); RR::SetOutputPrecision(long(0.3*n)-1);}
++{RR::SetPrecision(n); RR::SetOutputPrecision(long(0.3L*n)-1);}
+ 
+ // Mostly for backward compatibility (used in saturate.cc) or for
+ // temporarily changing internal precision when no output is relevant:
+@@ -252,7 +252,7 @@
+   {long n; cerr<<prompt<<": "; cin>>n; set_precision(n);}
+ 
+ // read current precision converted to decimal (approximately)
+-inline long decimal_precision() {return long(RR::precision()*0.3);}
++inline long decimal_precision() {return long(RR::precision()*0.3L);}
+ 
+ // read current bit precision
+ inline long bit_precision() {return RR::precision();}
+@@ -289,7 +289,7 @@
+ inline int is_approx_zero(double x) {return fabs(x)<1e-10;}
+ 
+ // We cannot set internal bit precision in this mode, so we just set the output decimal precision
+-inline void set_precision(long n) {cout.precision(min(15,long(0.3*n)));}
++inline void set_precision(long n) {cout.precision(min(15,long(0.3L*n)));}
+ inline void set_precision(const string prompt)  {cout.precision(15);}
+ #define Pi()    3.1415926535897932384626433832795028841
+ #define Euler() (0.57721566490153286060651209008240243104)
+
diff --git a/srcpkgs/eclib/template b/srcpkgs/eclib/template
new file mode 100644
index 000000000000..e545d06eb5e4
--- /dev/null
+++ b/srcpkgs/eclib/template
@@ -0,0 +1,30 @@
+# Template file for 'eclib'
+pkgname=eclib
+version=20210318
+revision=1
+build_style=gnu-configure
+configure_args="--with-flint --with-boost"
+hostmakedepends="automake autoconf-archive libtool"
+makedepends="pari-devel ntl-devel flintlib-devel boost-devel"
+short_desc="Elliptic curve library, includes mwrank"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="GPL-2.0-or-later"
+homepage="https://github.com/JohnCremona/eclib"
+distfiles="https://github.com/JohnCremona/eclib/archive/refs/tags/${version}.tar.gz"
+checksum=8ca611e818cc3acdd54c800be66f66219a52603516bff048d350dd1e95605484
+
+pre_configure() {
+	./autogen.sh
+}
+
+eclib-devel_package() {
+	depends="eclib-${version}_${revision}"
+	depends+=" ntl-devel"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove "usr/include"
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+		vmove "usr/lib/pkgconfig"
+	}
+}

From 489dd593d2f64e456d5658f5c79b979a7cf3d901 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 8 Apr 2021 22:58:13 -0300
Subject: [PATCH 6/6] eclib: update to 20210408.

---
 srcpkgs/eclib/patches/set_precision.patch | 34 -----------------------
 srcpkgs/eclib/template                    |  4 +--
 2 files changed, 2 insertions(+), 36 deletions(-)
 delete mode 100644 srcpkgs/eclib/patches/set_precision.patch

diff --git a/srcpkgs/eclib/patches/set_precision.patch b/srcpkgs/eclib/patches/set_precision.patch
deleted file mode 100644
index d1b6072ff399..000000000000
--- a/srcpkgs/eclib/patches/set_precision.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-This changes 0.3 by 0.3L, otherwise tests fail in i686 due to different rounding.
-
-See: https://github.com/JohnCremona/eclib/issues/68
-
---- libsrc/eclib/interface.h    2021-03-18 12:22:52.000000000 -0300
-+++ libsrc/eclib/interface.h    2021-04-05 15:15:52.355310137 -0300
-@@ -240,7 +240,7 @@
- 
- // Set internal precision to n bits and output precision to (0.3*n)-1 decimal places
- inline void set_precision(long n)
--{RR::SetPrecision(n); RR::SetOutputPrecision(long(0.3*n)-1);}
-+{RR::SetPrecision(n); RR::SetOutputPrecision(long(0.3L*n)-1);}
- 
- // Mostly for backward compatibility (used in saturate.cc) or for
- // temporarily changing internal precision when no output is relevant:
-@@ -252,7 +252,7 @@
-   {long n; cerr<<prompt<<": "; cin>>n; set_precision(n);}
- 
- // read current precision converted to decimal (approximately)
--inline long decimal_precision() {return long(RR::precision()*0.3);}
-+inline long decimal_precision() {return long(RR::precision()*0.3L);}
- 
- // read current bit precision
- inline long bit_precision() {return RR::precision();}
-@@ -289,7 +289,7 @@
- inline int is_approx_zero(double x) {return fabs(x)<1e-10;}
- 
- // We cannot set internal bit precision in this mode, so we just set the output decimal precision
--inline void set_precision(long n) {cout.precision(min(15,long(0.3*n)));}
-+inline void set_precision(long n) {cout.precision(min(15,long(0.3L*n)));}
- inline void set_precision(const string prompt)  {cout.precision(15);}
- #define Pi()    3.1415926535897932384626433832795028841
- #define Euler() (0.57721566490153286060651209008240243104)
-
diff --git a/srcpkgs/eclib/template b/srcpkgs/eclib/template
index e545d06eb5e4..542ae4aae14f 100644
--- a/srcpkgs/eclib/template
+++ b/srcpkgs/eclib/template
@@ -1,6 +1,6 @@
 # Template file for 'eclib'
 pkgname=eclib
-version=20210318
+version=20210408
 revision=1
 build_style=gnu-configure
 configure_args="--with-flint --with-boost"
@@ -11,7 +11,7 @@ maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="GPL-2.0-or-later"
 homepage="https://github.com/JohnCremona/eclib"
 distfiles="https://github.com/JohnCremona/eclib/archive/refs/tags/${version}.tar.gz"
-checksum=8ca611e818cc3acdd54c800be66f66219a52603516bff048d350dd1e95605484
+checksum=5354ea8edfedff7f10adeb8c5f8f3705dbeccb56e2840ab1eb2b3fad981c0e22
 
 pre_configure() {
 	./autogen.sh

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

* Re: [PR PATCH] [Updated] Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (5 preceding siblings ...)
  2021-05-13 17:57 ` tornaria
@ 2021-05-13 18:25 ` tornaria
  2021-08-06 19:18 ` [PR REVIEW] " ericonr
                   ` (62 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: tornaria @ 2021-05-13 18:25 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by tornaria against master on the void-packages repository

https://github.com/tornaria/void-packages math2
https://github.com/void-linux/void-packages/pull/30032

Math packages: gf2x, ntl, flintlib, arb, eclib
<!-- Mark items with [x] where applicable -->

#### General
- [x] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me

#### Notes
- This includes: `gf2x` (see also #29783), `ntl`, `flintlib`, `arb`, `eclib`.
- Everything is tested and check pass in x86_64, x86_64-musl, i686.

EDIT: split in smaller independent PR to ease review.

A patch file from https://github.com/void-linux/void-packages/pull/30032.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-math2-30032.patch --]
[-- Type: text/x-diff, Size: 17867 bytes --]

From 6750a0606813671c7edf61eebf3ec308644a6c33 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 29 Jan 2018 11:18:35 -0300
Subject: [PATCH 1/7] New package: gf2x-1.3.0

---
 common/shlibs         |  1 +
 srcpkgs/gf2x-devel    |  1 +
 srcpkgs/gf2x/template | 34 ++++++++++++++++++++++++++++++++++
 srcpkgs/gf2x/update   |  1 +
 4 files changed, 37 insertions(+)
 create mode 120000 srcpkgs/gf2x-devel
 create mode 100644 srcpkgs/gf2x/template
 create mode 100644 srcpkgs/gf2x/update

diff --git a/common/shlibs b/common/shlibs
index 0d53e2be7dfa..d3d7954f50b7 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3974,6 +3974,7 @@ libsword-1.8.1.so libsword-1.8.1_6
 libpari-gmp.so.7 pari-2.13.0_1
 libtree-sitter.so.0 tree-sitter-0.19.0_1
 libgtkdatabox.so.1 gtkdatabox3-1.0.0_1
+libgf2x.so.3 gf2x-1.3.0_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
 libwayland-cursor++.so.0 libwaylandpp-0.2.8_1
 libwayland-egl++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/gf2x-devel b/srcpkgs/gf2x-devel
new file mode 120000
index 000000000000..4542295e8de7
--- /dev/null
+++ b/srcpkgs/gf2x-devel
@@ -0,0 +1 @@
+gf2x
\ No newline at end of file
diff --git a/srcpkgs/gf2x/template b/srcpkgs/gf2x/template
new file mode 100644
index 000000000000..e9267578a2c6
--- /dev/null
+++ b/srcpkgs/gf2x/template
@@ -0,0 +1,34 @@
+# Template file for 'gf2x'
+pkgname=gf2x
+version=1.3.0
+revision=1
+wrksrc=gf2x-gf2x-${version}
+build_style="gnu-configure"
+hostmakedepends="automake libtool"
+short_desc="C/C++ library for fast arithmetic in GF(2)[x]"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="GPL-3.0-or-later"
+homepage="https://gitlab.inria.fr/gf2x/gf2x"
+distfiles="https://gitlab.inria.fr/gf2x/gf2x/-/archive/gf2x-${version}/gf2x-gf2x-${version}.tar.gz"
+checksum=11bcf98b620c60c2ee3b4460b02b7be741f14cfdc26b542f22c92950926575e0
+
+build_options="native"
+
+if [ ! "$build_option_native" ]; then
+	configure_args="--disable-sse3"
+fi
+
+pre_configure() {
+	autoreconf -fi
+}
+
+gf2x-devel_package() {
+	depends="gf2x-${version}_${revision}"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove "usr/include"
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+		vmove "usr/lib/pkgconfig"
+	}
+}
diff --git a/srcpkgs/gf2x/update b/srcpkgs/gf2x/update
new file mode 100644
index 000000000000..504503610161
--- /dev/null
+++ b/srcpkgs/gf2x/update
@@ -0,0 +1 @@
+pkgname=gf2x-gf2x

From cf037c607eb202f9fcd5356c669b72c39b4b1440 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 30 Jan 2018 11:02:38 -0300
Subject: [PATCH 2/7] New package: ntl-11.4.4

---
 common/shlibs        |  1 +
 srcpkgs/ntl-devel    |  1 +
 srcpkgs/ntl/template | 36 ++++++++++++++++++++++++++++++++++++
 srcpkgs/ntl/update   |  1 +
 4 files changed, 39 insertions(+)
 create mode 120000 srcpkgs/ntl-devel
 create mode 100644 srcpkgs/ntl/template
 create mode 100644 srcpkgs/ntl/update

diff --git a/common/shlibs b/common/shlibs
index d3d7954f50b7..137f67fe4383 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3975,6 +3975,7 @@ libpari-gmp.so.7 pari-2.13.0_1
 libtree-sitter.so.0 tree-sitter-0.19.0_1
 libgtkdatabox.so.1 gtkdatabox3-1.0.0_1
 libgf2x.so.3 gf2x-1.3.0_1
+libntl.so.43 ntl-11.4.4_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
 libwayland-cursor++.so.0 libwaylandpp-0.2.8_1
 libwayland-egl++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/ntl-devel b/srcpkgs/ntl-devel
new file mode 120000
index 000000000000..fc0a39987329
--- /dev/null
+++ b/srcpkgs/ntl-devel
@@ -0,0 +1 @@
+ntl
\ No newline at end of file
diff --git a/srcpkgs/ntl/template b/srcpkgs/ntl/template
new file mode 100644
index 000000000000..e140298eb559
--- /dev/null
+++ b/srcpkgs/ntl/template
@@ -0,0 +1,36 @@
+# Template file for 'ntl'
+pkgname=ntl
+version=11.4.4
+revision=1
+build_wrksrc="src"
+build_style="configure"
+hostmakedepends="perl"
+makedepends="gmp-devel gf2x-devel"
+short_desc="Library for doing Number Theory"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="LGPL-2.1-or-later"
+homepage="https://libntl.org"
+distfiles="https://libntl.org/ntl-${version}.tar.gz"
+checksum=9d7f6e82e11a409f151c0de2deb08c0d763baf9834fddfd432bf3d218f8021db
+nocross=yes
+
+build_options="native"
+
+do_configure() {
+	# see http://www.shoup.net/ntl/doc/tour-unix.html
+	./configure CXX="$CXX" CXXFLAGS="$CXXFLAGS" \
+		PREFIX="/usr" SHARED="on" NTL_GF2X_LIB="on" \
+		NATIVE="$(vopt_if native 'on' 'off')"
+}
+
+ntl-devel_package() {
+	depends="ntl-${version}_${revision}"
+	depends+=" gmp-devel gf2x-devel"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove "usr/include"
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+		vmove "usr/share"
+	}
+}
diff --git a/srcpkgs/ntl/update b/srcpkgs/ntl/update
new file mode 100644
index 000000000000..8ccb86344234
--- /dev/null
+++ b/srcpkgs/ntl/update
@@ -0,0 +1 @@
+site="${homepage}/download.html"

From cc613d072d50b6a03f256e8df1ea567cb9fe5dc1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Fri, 2 Feb 2018 22:42:49 -0300
Subject: [PATCH 3/7] New package: flintlib-2.7.1

---
 common/shlibs             |  1 +
 srcpkgs/flintlib-devel    |  1 +
 srcpkgs/flintlib/template | 30 ++++++++++++++++++++++++++++++
 srcpkgs/flintlib/update   |  2 ++
 4 files changed, 34 insertions(+)
 create mode 120000 srcpkgs/flintlib-devel
 create mode 100644 srcpkgs/flintlib/template
 create mode 100644 srcpkgs/flintlib/update

diff --git a/common/shlibs b/common/shlibs
index 137f67fe4383..b8a1f7d0a080 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3976,6 +3976,7 @@ libtree-sitter.so.0 tree-sitter-0.19.0_1
 libgtkdatabox.so.1 gtkdatabox3-1.0.0_1
 libgf2x.so.3 gf2x-1.3.0_1
 libntl.so.43 ntl-11.4.4_1
+libflint.so.15 flintlib-2.7.1_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
 libwayland-cursor++.so.0 libwaylandpp-0.2.8_1
 libwayland-egl++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/flintlib-devel b/srcpkgs/flintlib-devel
new file mode 120000
index 000000000000..7c2633183069
--- /dev/null
+++ b/srcpkgs/flintlib-devel
@@ -0,0 +1 @@
+flintlib
\ No newline at end of file
diff --git a/srcpkgs/flintlib/template b/srcpkgs/flintlib/template
new file mode 100644
index 000000000000..149cb66f3187
--- /dev/null
+++ b/srcpkgs/flintlib/template
@@ -0,0 +1,30 @@
+# Template file for 'flintlib'
+pkgname=flintlib
+version=2.7.1
+revision=1
+wrksrc="flint-${version}"
+build_style="configure"
+configure_args="--prefix=/usr --with-gmp=/usr --with-mpfr=/usr --with-ntl=/usr"
+makedepends="mpfr-devel ntl-devel"
+short_desc="Fast Library for Number Theory"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="LGPL-2.1-or-later"
+homepage="https://flintlib.org"
+distfiles="https://flintlib.org/flint-${version}.tar.gz"
+checksum=186e2fd9ab67df8a05b122fb018269b382e4babcdb17353c4be1fe364dca481e
+nocross=yes
+
+if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
+	CFLAGS="-D_GNU_SOURCE"
+fi
+
+flintlib-devel_package() {
+	depends="flintlib-${version}_${revision}"
+	depends+=" mpfr-devel"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove "usr/include"
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+	}
+}
diff --git a/srcpkgs/flintlib/update b/srcpkgs/flintlib/update
new file mode 100644
index 000000000000..8eee53cf22f2
--- /dev/null
+++ b/srcpkgs/flintlib/update
@@ -0,0 +1,2 @@
+pkgname=flint
+site="${homepage}/downloads.html"

From 9b51d70e928dcda490847e50f8f1fe702737c71c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 4 Feb 2018 01:00:19 -0300
Subject: [PATCH 4/7] New package: arb-2.19.0

---
 common/shlibs        |  1 +
 srcpkgs/arb-devel    |  1 +
 srcpkgs/arb/template | 29 +++++++++++++++++++++++++++++
 3 files changed, 31 insertions(+)
 create mode 120000 srcpkgs/arb-devel
 create mode 100644 srcpkgs/arb/template

diff --git a/common/shlibs b/common/shlibs
index b8a1f7d0a080..d4a2cee990e9 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3977,6 +3977,7 @@ libgtkdatabox.so.1 gtkdatabox3-1.0.0_1
 libgf2x.so.3 gf2x-1.3.0_1
 libntl.so.43 ntl-11.4.4_1
 libflint.so.15 flintlib-2.7.1_1
+libarb.so.2 arb-2.19.0_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
 libwayland-cursor++.so.0 libwaylandpp-0.2.8_1
 libwayland-egl++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/arb-devel b/srcpkgs/arb-devel
new file mode 120000
index 000000000000..456b9f00a86c
--- /dev/null
+++ b/srcpkgs/arb-devel
@@ -0,0 +1 @@
+arb
\ No newline at end of file
diff --git a/srcpkgs/arb/template b/srcpkgs/arb/template
new file mode 100644
index 000000000000..7c7df0aace15
--- /dev/null
+++ b/srcpkgs/arb/template
@@ -0,0 +1,29 @@
+# Template file for 'arb'
+pkgname=arb
+version=2.19.0
+revision=1
+build_style="configure"
+configure_args="--prefix=/usr --with-gmp=/usr --with-mpfr=/usr --with-flint=/usr"
+makedepends="flintlib-devel"
+short_desc="C library for arbitrary-precision interval arithmetic"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="LGPL-2.1-or-later"
+homepage="https://arblib.org"
+distfiles="https://github.com/fredrik-johansson/arb/archive/${version}.tar.gz"
+checksum=0aec6b492b6e9a543bdb3287a91f976951e2ba74fd4de942e692e21f7edbcf13
+nocross=yes
+
+if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
+	CFLAGS="-D_GNU_SOURCE"
+fi
+
+arb-devel_package() {
+	depends="arb-${version}_${revision}"
+	depends+=" flintlib-devel"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove "usr/include"
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+	}
+}

From 09028147864963ac59cb851cbac9bc22b18d8d97 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 Jun 2020 14:50:01 -0300
Subject: [PATCH 5/7] New package: eclib-20210318

---
 common/shlibs                             |  1 +
 srcpkgs/eclib-devel                       |  1 +
 srcpkgs/eclib/patches/set_precision.patch | 34 +++++++++++++++++++++++
 srcpkgs/eclib/template                    | 30 ++++++++++++++++++++
 4 files changed, 66 insertions(+)
 create mode 120000 srcpkgs/eclib-devel
 create mode 100644 srcpkgs/eclib/patches/set_precision.patch
 create mode 100644 srcpkgs/eclib/template

diff --git a/common/shlibs b/common/shlibs
index d4a2cee990e9..a7c384e15f0c 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3978,6 +3978,7 @@ libgf2x.so.3 gf2x-1.3.0_1
 libntl.so.43 ntl-11.4.4_1
 libflint.so.15 flintlib-2.7.1_1
 libarb.so.2 arb-2.19.0_1
+libec.so.7 eclib-20210318_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
 libwayland-cursor++.so.0 libwaylandpp-0.2.8_1
 libwayland-egl++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/eclib-devel b/srcpkgs/eclib-devel
new file mode 120000
index 000000000000..d29e610e9249
--- /dev/null
+++ b/srcpkgs/eclib-devel
@@ -0,0 +1 @@
+eclib
\ No newline at end of file
diff --git a/srcpkgs/eclib/patches/set_precision.patch b/srcpkgs/eclib/patches/set_precision.patch
new file mode 100644
index 000000000000..d1b6072ff399
--- /dev/null
+++ b/srcpkgs/eclib/patches/set_precision.patch
@@ -0,0 +1,34 @@
+This changes 0.3 by 0.3L, otherwise tests fail in i686 due to different rounding.
+
+See: https://github.com/JohnCremona/eclib/issues/68
+
+--- libsrc/eclib/interface.h    2021-03-18 12:22:52.000000000 -0300
++++ libsrc/eclib/interface.h    2021-04-05 15:15:52.355310137 -0300
+@@ -240,7 +240,7 @@
+ 
+ // Set internal precision to n bits and output precision to (0.3*n)-1 decimal places
+ inline void set_precision(long n)
+-{RR::SetPrecision(n); RR::SetOutputPrecision(long(0.3*n)-1);}
++{RR::SetPrecision(n); RR::SetOutputPrecision(long(0.3L*n)-1);}
+ 
+ // Mostly for backward compatibility (used in saturate.cc) or for
+ // temporarily changing internal precision when no output is relevant:
+@@ -252,7 +252,7 @@
+   {long n; cerr<<prompt<<": "; cin>>n; set_precision(n);}
+ 
+ // read current precision converted to decimal (approximately)
+-inline long decimal_precision() {return long(RR::precision()*0.3);}
++inline long decimal_precision() {return long(RR::precision()*0.3L);}
+ 
+ // read current bit precision
+ inline long bit_precision() {return RR::precision();}
+@@ -289,7 +289,7 @@
+ inline int is_approx_zero(double x) {return fabs(x)<1e-10;}
+ 
+ // We cannot set internal bit precision in this mode, so we just set the output decimal precision
+-inline void set_precision(long n) {cout.precision(min(15,long(0.3*n)));}
++inline void set_precision(long n) {cout.precision(min(15,long(0.3L*n)));}
+ inline void set_precision(const string prompt)  {cout.precision(15);}
+ #define Pi()    3.1415926535897932384626433832795028841
+ #define Euler() (0.57721566490153286060651209008240243104)
+
diff --git a/srcpkgs/eclib/template b/srcpkgs/eclib/template
new file mode 100644
index 000000000000..e545d06eb5e4
--- /dev/null
+++ b/srcpkgs/eclib/template
@@ -0,0 +1,30 @@
+# Template file for 'eclib'
+pkgname=eclib
+version=20210318
+revision=1
+build_style=gnu-configure
+configure_args="--with-flint --with-boost"
+hostmakedepends="automake autoconf-archive libtool"
+makedepends="pari-devel ntl-devel flintlib-devel boost-devel"
+short_desc="Elliptic curve library, includes mwrank"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="GPL-2.0-or-later"
+homepage="https://github.com/JohnCremona/eclib"
+distfiles="https://github.com/JohnCremona/eclib/archive/refs/tags/${version}.tar.gz"
+checksum=8ca611e818cc3acdd54c800be66f66219a52603516bff048d350dd1e95605484
+
+pre_configure() {
+	./autogen.sh
+}
+
+eclib-devel_package() {
+	depends="eclib-${version}_${revision}"
+	depends+=" ntl-devel"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove "usr/include"
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+		vmove "usr/lib/pkgconfig"
+	}
+}

From 0b860be4ab5af9518c683a67f1ae2dd86925c193 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 8 Apr 2021 22:58:13 -0300
Subject: [PATCH 6/7] eclib: update to 20210408.

---
 srcpkgs/eclib/patches/set_precision.patch | 34 -----------------------
 srcpkgs/eclib/template                    |  4 +--
 2 files changed, 2 insertions(+), 36 deletions(-)
 delete mode 100644 srcpkgs/eclib/patches/set_precision.patch

diff --git a/srcpkgs/eclib/patches/set_precision.patch b/srcpkgs/eclib/patches/set_precision.patch
deleted file mode 100644
index d1b6072ff399..000000000000
--- a/srcpkgs/eclib/patches/set_precision.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-This changes 0.3 by 0.3L, otherwise tests fail in i686 due to different rounding.
-
-See: https://github.com/JohnCremona/eclib/issues/68
-
---- libsrc/eclib/interface.h    2021-03-18 12:22:52.000000000 -0300
-+++ libsrc/eclib/interface.h    2021-04-05 15:15:52.355310137 -0300
-@@ -240,7 +240,7 @@
- 
- // Set internal precision to n bits and output precision to (0.3*n)-1 decimal places
- inline void set_precision(long n)
--{RR::SetPrecision(n); RR::SetOutputPrecision(long(0.3*n)-1);}
-+{RR::SetPrecision(n); RR::SetOutputPrecision(long(0.3L*n)-1);}
- 
- // Mostly for backward compatibility (used in saturate.cc) or for
- // temporarily changing internal precision when no output is relevant:
-@@ -252,7 +252,7 @@
-   {long n; cerr<<prompt<<": "; cin>>n; set_precision(n);}
- 
- // read current precision converted to decimal (approximately)
--inline long decimal_precision() {return long(RR::precision()*0.3);}
-+inline long decimal_precision() {return long(RR::precision()*0.3L);}
- 
- // read current bit precision
- inline long bit_precision() {return RR::precision();}
-@@ -289,7 +289,7 @@
- inline int is_approx_zero(double x) {return fabs(x)<1e-10;}
- 
- // We cannot set internal bit precision in this mode, so we just set the output decimal precision
--inline void set_precision(long n) {cout.precision(min(15,long(0.3*n)));}
-+inline void set_precision(long n) {cout.precision(min(15,long(0.3L*n)));}
- inline void set_precision(const string prompt)  {cout.precision(15);}
- #define Pi()    3.1415926535897932384626433832795028841
- #define Euler() (0.57721566490153286060651209008240243104)
-
diff --git a/srcpkgs/eclib/template b/srcpkgs/eclib/template
index e545d06eb5e4..542ae4aae14f 100644
--- a/srcpkgs/eclib/template
+++ b/srcpkgs/eclib/template
@@ -1,6 +1,6 @@
 # Template file for 'eclib'
 pkgname=eclib
-version=20210318
+version=20210408
 revision=1
 build_style=gnu-configure
 configure_args="--with-flint --with-boost"
@@ -11,7 +11,7 @@ maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="GPL-2.0-or-later"
 homepage="https://github.com/JohnCremona/eclib"
 distfiles="https://github.com/JohnCremona/eclib/archive/refs/tags/${version}.tar.gz"
-checksum=8ca611e818cc3acdd54c800be66f66219a52603516bff048d350dd1e95605484
+checksum=5354ea8edfedff7f10adeb8c5f8f3705dbeccb56e2840ab1eb2b3fad981c0e22
 
 pre_configure() {
 	./autogen.sh

From d039ed104203f1c88d2af7075f645d5c18f3ae1d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 13 May 2021 15:24:21 -0300
Subject: [PATCH 7/7] eclib: update to 20210503.

---
 srcpkgs/eclib/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/eclib/template b/srcpkgs/eclib/template
index 542ae4aae14f..bf98c22c8531 100644
--- a/srcpkgs/eclib/template
+++ b/srcpkgs/eclib/template
@@ -1,6 +1,6 @@
 # Template file for 'eclib'
 pkgname=eclib
-version=20210408
+version=20210503
 revision=1
 build_style=gnu-configure
 configure_args="--with-flint --with-boost"
@@ -11,7 +11,7 @@ maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="GPL-2.0-or-later"
 homepage="https://github.com/JohnCremona/eclib"
 distfiles="https://github.com/JohnCremona/eclib/archive/refs/tags/${version}.tar.gz"
-checksum=5354ea8edfedff7f10adeb8c5f8f3705dbeccb56e2840ab1eb2b3fad981c0e22
+checksum=b742e322f5aeffef7256c05a9b9f744a8f34cb52777c62764cce07a49b1d32fa
 
 pre_configure() {
 	./autogen.sh

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

* Re: [PR REVIEW] Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (6 preceding siblings ...)
  2021-05-13 18:25 ` tornaria
@ 2021-08-06 19:18 ` ericonr
  2021-08-06 19:18 ` ericonr
                   ` (61 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: ericonr @ 2021-08-06 19:18 UTC (permalink / raw)
  To: ml

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

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#discussion_r684449724

Comment:
```suggestion
build_style=configure
```

Style nit

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

* Re: [PR REVIEW] Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (11 preceding siblings ...)
  2021-08-06 19:18 ` ericonr
@ 2021-08-06 19:18 ` ericonr
  2021-08-06 19:18 ` ericonr
                   ` (56 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: ericonr @ 2021-08-06 19:18 UTC (permalink / raw)
  To: ml

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

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#discussion_r684450332

Comment:
```suggestion
	depends="arb>=${version}_${revision}"
```

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

* Re: [PR REVIEW] Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (8 preceding siblings ...)
  2021-08-06 19:18 ` ericonr
@ 2021-08-06 19:18 ` ericonr
  2021-08-06 19:18 ` ericonr
                   ` (59 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: ericonr @ 2021-08-06 19:18 UTC (permalink / raw)
  To: ml

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

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#discussion_r684449977

Comment:
Do you have  a simple comment you can add here explaining why?

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

* Re: [PR REVIEW] Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (10 preceding siblings ...)
  2021-08-06 19:18 ` ericonr
@ 2021-08-06 19:18 ` ericonr
  2021-08-06 19:18 ` ericonr
                   ` (57 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: ericonr @ 2021-08-06 19:18 UTC (permalink / raw)
  To: ml

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

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#discussion_r684450289

Comment:
```suggestion
	depends+=" ${makedepends}"
```

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

* Re: [PR REVIEW] Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (9 preceding siblings ...)
  2021-08-06 19:18 ` ericonr
@ 2021-08-06 19:18 ` ericonr
  2021-08-06 19:18 ` ericonr
                   ` (58 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: ericonr @ 2021-08-06 19:18 UTC (permalink / raw)
  To: ml

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

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#discussion_r684450409

Comment:
```suggestion
		vmove usr/include
```

Style nit

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

* Re: [PR REVIEW] Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (7 preceding siblings ...)
  2021-08-06 19:18 ` [PR REVIEW] " ericonr
@ 2021-08-06 19:18 ` ericonr
  2021-08-06 19:18 ` ericonr
                   ` (60 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: ericonr @ 2021-08-06 19:18 UTC (permalink / raw)
  To: ml

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

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#discussion_r684450115

Comment:
Doesn't need to be conditional, setting this for glibc shouldn't hurt anything.

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

* Re: [PR REVIEW] Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (13 preceding siblings ...)
  2021-08-06 19:18 ` ericonr
@ 2021-08-06 19:18 ` ericonr
  2021-08-06 19:18 ` ericonr
                   ` (54 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: ericonr @ 2021-08-06 19:18 UTC (permalink / raw)
  To: ml

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

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#discussion_r684450874

Comment:
Same style nit, remove quotes when not globbing.

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

* Re: [PR REVIEW] Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (14 preceding siblings ...)
  2021-08-06 19:18 ` ericonr
@ 2021-08-06 19:18 ` ericonr
  2021-08-06 19:18 ` ericonr
                   ` (53 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: ericonr @ 2021-08-06 19:18 UTC (permalink / raw)
  To: ml

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

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#discussion_r684450647

Comment:
We usually try to use `autoreconf -fi`, does their script do more than that?

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

* Re: [PR REVIEW] Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (15 preceding siblings ...)
  2021-08-06 19:18 ` ericonr
@ 2021-08-06 19:18 ` ericonr
  2021-08-06 19:18 ` ericonr
                   ` (52 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: ericonr @ 2021-08-06 19:18 UTC (permalink / raw)
  To: ml

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

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#discussion_r684453408

Comment:
I remembered it just now, but the default style is actually `${sourcepkg}>=...`

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

* Re: [PR REVIEW] Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (12 preceding siblings ...)
  2021-08-06 19:18 ` ericonr
@ 2021-08-06 19:18 ` ericonr
  2021-08-06 19:18 ` ericonr
                   ` (55 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: ericonr @ 2021-08-06 19:18 UTC (permalink / raw)
  To: ml

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

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#discussion_r684450747

Comment:
```suggestion
	depends="eclib>=${version}_${revision}"
```

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

* Re: [PR REVIEW] Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (17 preceding siblings ...)
  2021-08-06 19:18 ` ericonr
@ 2021-08-06 19:18 ` ericonr
  2021-08-06 19:18 ` ericonr
                   ` (50 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: ericonr @ 2021-08-06 19:18 UTC (permalink / raw)
  To: ml

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

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#discussion_r684451038

Comment:
Same as previous

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

* Re: [PR REVIEW] Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (18 preceding siblings ...)
  2021-08-06 19:18 ` ericonr
@ 2021-08-06 19:18 ` ericonr
  2021-08-06 19:18 ` ericonr
                   ` (49 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: ericonr @ 2021-08-06 19:18 UTC (permalink / raw)
  To: ml

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

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#discussion_r684451082

Comment:
Same as previous

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

* Re: [PR REVIEW] Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (16 preceding siblings ...)
  2021-08-06 19:18 ` ericonr
@ 2021-08-06 19:18 ` ericonr
  2021-08-06 19:18 ` ericonr
                   ` (51 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: ericonr @ 2021-08-06 19:18 UTC (permalink / raw)
  To: ml

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

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#discussion_r684454215

Comment:
Same as above

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

* Re: [PR REVIEW] Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (19 preceding siblings ...)
  2021-08-06 19:18 ` ericonr
@ 2021-08-06 19:18 ` ericonr
  2021-08-06 19:18 ` ericonr
                   ` (48 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: ericonr @ 2021-08-06 19:18 UTC (permalink / raw)
  To: ml

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

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#discussion_r684453972

Comment:
Same as above

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

* Re: [PR REVIEW] Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (20 preceding siblings ...)
  2021-08-06 19:18 ` ericonr
@ 2021-08-06 19:18 ` ericonr
  2021-08-06 19:18 ` ericonr
                   ` (47 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: ericonr @ 2021-08-06 19:18 UTC (permalink / raw)
  To: ml

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

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#discussion_r684451200

Comment:
Same as previous

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

* Re: [PR REVIEW] Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (23 preceding siblings ...)
  2021-08-06 19:18 ` ericonr
@ 2021-08-06 19:18 ` ericonr
  2021-08-06 19:32 ` [PR PATCH] [Updated] " tornaria
                   ` (44 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: ericonr @ 2021-08-06 19:18 UTC (permalink / raw)
  To: ml

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

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#discussion_r684453058

Comment:
```suggestion
	depends="gf2x>=${version}_${revision}"
```

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

* Re: [PR REVIEW] Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (21 preceding siblings ...)
  2021-08-06 19:18 ` ericonr
@ 2021-08-06 19:18 ` ericonr
  2021-08-06 19:18 ` ericonr
                   ` (46 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: ericonr @ 2021-08-06 19:18 UTC (permalink / raw)
  To: ml

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

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#discussion_r684453921

Comment:
Same as above

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

* Re: [PR REVIEW] Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (22 preceding siblings ...)
  2021-08-06 19:18 ` ericonr
@ 2021-08-06 19:18 ` ericonr
  2021-08-06 19:18 ` ericonr
                   ` (45 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: ericonr @ 2021-08-06 19:18 UTC (permalink / raw)
  To: ml

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

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#discussion_r684451235

Comment:
```suggestion
	depends="flintlib>=${version}_${revision}"
```

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

* Re: [PR PATCH] [Updated] Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (24 preceding siblings ...)
  2021-08-06 19:18 ` ericonr
@ 2021-08-06 19:32 ` tornaria
  2021-08-06 19:32 ` tornaria
                   ` (43 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: tornaria @ 2021-08-06 19:32 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by tornaria against master on the void-packages repository

https://github.com/tornaria/void-packages math2
https://github.com/void-linux/void-packages/pull/30032

Math packages: gf2x, ntl, flintlib, arb, eclib
<!-- Mark items with [x] where applicable -->

#### General
- [x] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me

#### Notes
- This includes: `gf2x` (see also #29783), `ntl`, `flintlib`, `arb`, `eclib`.
- Everything is tested and check pass in x86_64, x86_64-musl, i686.

EDIT: split in smaller independent PR to ease review.

A patch file from https://github.com/void-linux/void-packages/pull/30032.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-math2-30032.patch --]
[-- Type: text/x-diff, Size: 18779 bytes --]

From 6750a0606813671c7edf61eebf3ec308644a6c33 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 29 Jan 2018 11:18:35 -0300
Subject: [PATCH 1/8] New package: gf2x-1.3.0

---
 common/shlibs         |  1 +
 srcpkgs/gf2x-devel    |  1 +
 srcpkgs/gf2x/template | 34 ++++++++++++++++++++++++++++++++++
 srcpkgs/gf2x/update   |  1 +
 4 files changed, 37 insertions(+)
 create mode 120000 srcpkgs/gf2x-devel
 create mode 100644 srcpkgs/gf2x/template
 create mode 100644 srcpkgs/gf2x/update

diff --git a/common/shlibs b/common/shlibs
index 0d53e2be7dfa..d3d7954f50b7 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3974,6 +3974,7 @@ libsword-1.8.1.so libsword-1.8.1_6
 libpari-gmp.so.7 pari-2.13.0_1
 libtree-sitter.so.0 tree-sitter-0.19.0_1
 libgtkdatabox.so.1 gtkdatabox3-1.0.0_1
+libgf2x.so.3 gf2x-1.3.0_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
 libwayland-cursor++.so.0 libwaylandpp-0.2.8_1
 libwayland-egl++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/gf2x-devel b/srcpkgs/gf2x-devel
new file mode 120000
index 000000000000..4542295e8de7
--- /dev/null
+++ b/srcpkgs/gf2x-devel
@@ -0,0 +1 @@
+gf2x
\ No newline at end of file
diff --git a/srcpkgs/gf2x/template b/srcpkgs/gf2x/template
new file mode 100644
index 000000000000..e9267578a2c6
--- /dev/null
+++ b/srcpkgs/gf2x/template
@@ -0,0 +1,34 @@
+# Template file for 'gf2x'
+pkgname=gf2x
+version=1.3.0
+revision=1
+wrksrc=gf2x-gf2x-${version}
+build_style="gnu-configure"
+hostmakedepends="automake libtool"
+short_desc="C/C++ library for fast arithmetic in GF(2)[x]"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="GPL-3.0-or-later"
+homepage="https://gitlab.inria.fr/gf2x/gf2x"
+distfiles="https://gitlab.inria.fr/gf2x/gf2x/-/archive/gf2x-${version}/gf2x-gf2x-${version}.tar.gz"
+checksum=11bcf98b620c60c2ee3b4460b02b7be741f14cfdc26b542f22c92950926575e0
+
+build_options="native"
+
+if [ ! "$build_option_native" ]; then
+	configure_args="--disable-sse3"
+fi
+
+pre_configure() {
+	autoreconf -fi
+}
+
+gf2x-devel_package() {
+	depends="gf2x-${version}_${revision}"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove "usr/include"
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+		vmove "usr/lib/pkgconfig"
+	}
+}
diff --git a/srcpkgs/gf2x/update b/srcpkgs/gf2x/update
new file mode 100644
index 000000000000..504503610161
--- /dev/null
+++ b/srcpkgs/gf2x/update
@@ -0,0 +1 @@
+pkgname=gf2x-gf2x

From cf037c607eb202f9fcd5356c669b72c39b4b1440 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 30 Jan 2018 11:02:38 -0300
Subject: [PATCH 2/8] New package: ntl-11.4.4

---
 common/shlibs        |  1 +
 srcpkgs/ntl-devel    |  1 +
 srcpkgs/ntl/template | 36 ++++++++++++++++++++++++++++++++++++
 srcpkgs/ntl/update   |  1 +
 4 files changed, 39 insertions(+)
 create mode 120000 srcpkgs/ntl-devel
 create mode 100644 srcpkgs/ntl/template
 create mode 100644 srcpkgs/ntl/update

diff --git a/common/shlibs b/common/shlibs
index d3d7954f50b7..137f67fe4383 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3975,6 +3975,7 @@ libpari-gmp.so.7 pari-2.13.0_1
 libtree-sitter.so.0 tree-sitter-0.19.0_1
 libgtkdatabox.so.1 gtkdatabox3-1.0.0_1
 libgf2x.so.3 gf2x-1.3.0_1
+libntl.so.43 ntl-11.4.4_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
 libwayland-cursor++.so.0 libwaylandpp-0.2.8_1
 libwayland-egl++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/ntl-devel b/srcpkgs/ntl-devel
new file mode 120000
index 000000000000..fc0a39987329
--- /dev/null
+++ b/srcpkgs/ntl-devel
@@ -0,0 +1 @@
+ntl
\ No newline at end of file
diff --git a/srcpkgs/ntl/template b/srcpkgs/ntl/template
new file mode 100644
index 000000000000..e140298eb559
--- /dev/null
+++ b/srcpkgs/ntl/template
@@ -0,0 +1,36 @@
+# Template file for 'ntl'
+pkgname=ntl
+version=11.4.4
+revision=1
+build_wrksrc="src"
+build_style="configure"
+hostmakedepends="perl"
+makedepends="gmp-devel gf2x-devel"
+short_desc="Library for doing Number Theory"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="LGPL-2.1-or-later"
+homepage="https://libntl.org"
+distfiles="https://libntl.org/ntl-${version}.tar.gz"
+checksum=9d7f6e82e11a409f151c0de2deb08c0d763baf9834fddfd432bf3d218f8021db
+nocross=yes
+
+build_options="native"
+
+do_configure() {
+	# see http://www.shoup.net/ntl/doc/tour-unix.html
+	./configure CXX="$CXX" CXXFLAGS="$CXXFLAGS" \
+		PREFIX="/usr" SHARED="on" NTL_GF2X_LIB="on" \
+		NATIVE="$(vopt_if native 'on' 'off')"
+}
+
+ntl-devel_package() {
+	depends="ntl-${version}_${revision}"
+	depends+=" gmp-devel gf2x-devel"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove "usr/include"
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+		vmove "usr/share"
+	}
+}
diff --git a/srcpkgs/ntl/update b/srcpkgs/ntl/update
new file mode 100644
index 000000000000..8ccb86344234
--- /dev/null
+++ b/srcpkgs/ntl/update
@@ -0,0 +1 @@
+site="${homepage}/download.html"

From cc613d072d50b6a03f256e8df1ea567cb9fe5dc1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Fri, 2 Feb 2018 22:42:49 -0300
Subject: [PATCH 3/8] New package: flintlib-2.7.1

---
 common/shlibs             |  1 +
 srcpkgs/flintlib-devel    |  1 +
 srcpkgs/flintlib/template | 30 ++++++++++++++++++++++++++++++
 srcpkgs/flintlib/update   |  2 ++
 4 files changed, 34 insertions(+)
 create mode 120000 srcpkgs/flintlib-devel
 create mode 100644 srcpkgs/flintlib/template
 create mode 100644 srcpkgs/flintlib/update

diff --git a/common/shlibs b/common/shlibs
index 137f67fe4383..b8a1f7d0a080 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3976,6 +3976,7 @@ libtree-sitter.so.0 tree-sitter-0.19.0_1
 libgtkdatabox.so.1 gtkdatabox3-1.0.0_1
 libgf2x.so.3 gf2x-1.3.0_1
 libntl.so.43 ntl-11.4.4_1
+libflint.so.15 flintlib-2.7.1_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
 libwayland-cursor++.so.0 libwaylandpp-0.2.8_1
 libwayland-egl++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/flintlib-devel b/srcpkgs/flintlib-devel
new file mode 120000
index 000000000000..7c2633183069
--- /dev/null
+++ b/srcpkgs/flintlib-devel
@@ -0,0 +1 @@
+flintlib
\ No newline at end of file
diff --git a/srcpkgs/flintlib/template b/srcpkgs/flintlib/template
new file mode 100644
index 000000000000..149cb66f3187
--- /dev/null
+++ b/srcpkgs/flintlib/template
@@ -0,0 +1,30 @@
+# Template file for 'flintlib'
+pkgname=flintlib
+version=2.7.1
+revision=1
+wrksrc="flint-${version}"
+build_style="configure"
+configure_args="--prefix=/usr --with-gmp=/usr --with-mpfr=/usr --with-ntl=/usr"
+makedepends="mpfr-devel ntl-devel"
+short_desc="Fast Library for Number Theory"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="LGPL-2.1-or-later"
+homepage="https://flintlib.org"
+distfiles="https://flintlib.org/flint-${version}.tar.gz"
+checksum=186e2fd9ab67df8a05b122fb018269b382e4babcdb17353c4be1fe364dca481e
+nocross=yes
+
+if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
+	CFLAGS="-D_GNU_SOURCE"
+fi
+
+flintlib-devel_package() {
+	depends="flintlib-${version}_${revision}"
+	depends+=" mpfr-devel"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove "usr/include"
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+	}
+}
diff --git a/srcpkgs/flintlib/update b/srcpkgs/flintlib/update
new file mode 100644
index 000000000000..8eee53cf22f2
--- /dev/null
+++ b/srcpkgs/flintlib/update
@@ -0,0 +1,2 @@
+pkgname=flint
+site="${homepage}/downloads.html"

From 9b51d70e928dcda490847e50f8f1fe702737c71c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 4 Feb 2018 01:00:19 -0300
Subject: [PATCH 4/8] New package: arb-2.19.0

---
 common/shlibs        |  1 +
 srcpkgs/arb-devel    |  1 +
 srcpkgs/arb/template | 29 +++++++++++++++++++++++++++++
 3 files changed, 31 insertions(+)
 create mode 120000 srcpkgs/arb-devel
 create mode 100644 srcpkgs/arb/template

diff --git a/common/shlibs b/common/shlibs
index b8a1f7d0a080..d4a2cee990e9 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3977,6 +3977,7 @@ libgtkdatabox.so.1 gtkdatabox3-1.0.0_1
 libgf2x.so.3 gf2x-1.3.0_1
 libntl.so.43 ntl-11.4.4_1
 libflint.so.15 flintlib-2.7.1_1
+libarb.so.2 arb-2.19.0_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
 libwayland-cursor++.so.0 libwaylandpp-0.2.8_1
 libwayland-egl++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/arb-devel b/srcpkgs/arb-devel
new file mode 120000
index 000000000000..456b9f00a86c
--- /dev/null
+++ b/srcpkgs/arb-devel
@@ -0,0 +1 @@
+arb
\ No newline at end of file
diff --git a/srcpkgs/arb/template b/srcpkgs/arb/template
new file mode 100644
index 000000000000..7c7df0aace15
--- /dev/null
+++ b/srcpkgs/arb/template
@@ -0,0 +1,29 @@
+# Template file for 'arb'
+pkgname=arb
+version=2.19.0
+revision=1
+build_style="configure"
+configure_args="--prefix=/usr --with-gmp=/usr --with-mpfr=/usr --with-flint=/usr"
+makedepends="flintlib-devel"
+short_desc="C library for arbitrary-precision interval arithmetic"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="LGPL-2.1-or-later"
+homepage="https://arblib.org"
+distfiles="https://github.com/fredrik-johansson/arb/archive/${version}.tar.gz"
+checksum=0aec6b492b6e9a543bdb3287a91f976951e2ba74fd4de942e692e21f7edbcf13
+nocross=yes
+
+if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
+	CFLAGS="-D_GNU_SOURCE"
+fi
+
+arb-devel_package() {
+	depends="arb-${version}_${revision}"
+	depends+=" flintlib-devel"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove "usr/include"
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+	}
+}

From 09028147864963ac59cb851cbac9bc22b18d8d97 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 Jun 2020 14:50:01 -0300
Subject: [PATCH 5/8] New package: eclib-20210318

---
 common/shlibs                             |  1 +
 srcpkgs/eclib-devel                       |  1 +
 srcpkgs/eclib/patches/set_precision.patch | 34 +++++++++++++++++++++++
 srcpkgs/eclib/template                    | 30 ++++++++++++++++++++
 4 files changed, 66 insertions(+)
 create mode 120000 srcpkgs/eclib-devel
 create mode 100644 srcpkgs/eclib/patches/set_precision.patch
 create mode 100644 srcpkgs/eclib/template

diff --git a/common/shlibs b/common/shlibs
index d4a2cee990e9..a7c384e15f0c 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3978,6 +3978,7 @@ libgf2x.so.3 gf2x-1.3.0_1
 libntl.so.43 ntl-11.4.4_1
 libflint.so.15 flintlib-2.7.1_1
 libarb.so.2 arb-2.19.0_1
+libec.so.7 eclib-20210318_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
 libwayland-cursor++.so.0 libwaylandpp-0.2.8_1
 libwayland-egl++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/eclib-devel b/srcpkgs/eclib-devel
new file mode 120000
index 000000000000..d29e610e9249
--- /dev/null
+++ b/srcpkgs/eclib-devel
@@ -0,0 +1 @@
+eclib
\ No newline at end of file
diff --git a/srcpkgs/eclib/patches/set_precision.patch b/srcpkgs/eclib/patches/set_precision.patch
new file mode 100644
index 000000000000..d1b6072ff399
--- /dev/null
+++ b/srcpkgs/eclib/patches/set_precision.patch
@@ -0,0 +1,34 @@
+This changes 0.3 by 0.3L, otherwise tests fail in i686 due to different rounding.
+
+See: https://github.com/JohnCremona/eclib/issues/68
+
+--- libsrc/eclib/interface.h    2021-03-18 12:22:52.000000000 -0300
++++ libsrc/eclib/interface.h    2021-04-05 15:15:52.355310137 -0300
+@@ -240,7 +240,7 @@
+ 
+ // Set internal precision to n bits and output precision to (0.3*n)-1 decimal places
+ inline void set_precision(long n)
+-{RR::SetPrecision(n); RR::SetOutputPrecision(long(0.3*n)-1);}
++{RR::SetPrecision(n); RR::SetOutputPrecision(long(0.3L*n)-1);}
+ 
+ // Mostly for backward compatibility (used in saturate.cc) or for
+ // temporarily changing internal precision when no output is relevant:
+@@ -252,7 +252,7 @@
+   {long n; cerr<<prompt<<": "; cin>>n; set_precision(n);}
+ 
+ // read current precision converted to decimal (approximately)
+-inline long decimal_precision() {return long(RR::precision()*0.3);}
++inline long decimal_precision() {return long(RR::precision()*0.3L);}
+ 
+ // read current bit precision
+ inline long bit_precision() {return RR::precision();}
+@@ -289,7 +289,7 @@
+ inline int is_approx_zero(double x) {return fabs(x)<1e-10;}
+ 
+ // We cannot set internal bit precision in this mode, so we just set the output decimal precision
+-inline void set_precision(long n) {cout.precision(min(15,long(0.3*n)));}
++inline void set_precision(long n) {cout.precision(min(15,long(0.3L*n)));}
+ inline void set_precision(const string prompt)  {cout.precision(15);}
+ #define Pi()    3.1415926535897932384626433832795028841
+ #define Euler() (0.57721566490153286060651209008240243104)
+
diff --git a/srcpkgs/eclib/template b/srcpkgs/eclib/template
new file mode 100644
index 000000000000..e545d06eb5e4
--- /dev/null
+++ b/srcpkgs/eclib/template
@@ -0,0 +1,30 @@
+# Template file for 'eclib'
+pkgname=eclib
+version=20210318
+revision=1
+build_style=gnu-configure
+configure_args="--with-flint --with-boost"
+hostmakedepends="automake autoconf-archive libtool"
+makedepends="pari-devel ntl-devel flintlib-devel boost-devel"
+short_desc="Elliptic curve library, includes mwrank"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="GPL-2.0-or-later"
+homepage="https://github.com/JohnCremona/eclib"
+distfiles="https://github.com/JohnCremona/eclib/archive/refs/tags/${version}.tar.gz"
+checksum=8ca611e818cc3acdd54c800be66f66219a52603516bff048d350dd1e95605484
+
+pre_configure() {
+	./autogen.sh
+}
+
+eclib-devel_package() {
+	depends="eclib-${version}_${revision}"
+	depends+=" ntl-devel"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove "usr/include"
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+		vmove "usr/lib/pkgconfig"
+	}
+}

From 0b860be4ab5af9518c683a67f1ae2dd86925c193 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 8 Apr 2021 22:58:13 -0300
Subject: [PATCH 6/8] eclib: update to 20210408.

---
 srcpkgs/eclib/patches/set_precision.patch | 34 -----------------------
 srcpkgs/eclib/template                    |  4 +--
 2 files changed, 2 insertions(+), 36 deletions(-)
 delete mode 100644 srcpkgs/eclib/patches/set_precision.patch

diff --git a/srcpkgs/eclib/patches/set_precision.patch b/srcpkgs/eclib/patches/set_precision.patch
deleted file mode 100644
index d1b6072ff399..000000000000
--- a/srcpkgs/eclib/patches/set_precision.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-This changes 0.3 by 0.3L, otherwise tests fail in i686 due to different rounding.
-
-See: https://github.com/JohnCremona/eclib/issues/68
-
---- libsrc/eclib/interface.h    2021-03-18 12:22:52.000000000 -0300
-+++ libsrc/eclib/interface.h    2021-04-05 15:15:52.355310137 -0300
-@@ -240,7 +240,7 @@
- 
- // Set internal precision to n bits and output precision to (0.3*n)-1 decimal places
- inline void set_precision(long n)
--{RR::SetPrecision(n); RR::SetOutputPrecision(long(0.3*n)-1);}
-+{RR::SetPrecision(n); RR::SetOutputPrecision(long(0.3L*n)-1);}
- 
- // Mostly for backward compatibility (used in saturate.cc) or for
- // temporarily changing internal precision when no output is relevant:
-@@ -252,7 +252,7 @@
-   {long n; cerr<<prompt<<": "; cin>>n; set_precision(n);}
- 
- // read current precision converted to decimal (approximately)
--inline long decimal_precision() {return long(RR::precision()*0.3);}
-+inline long decimal_precision() {return long(RR::precision()*0.3L);}
- 
- // read current bit precision
- inline long bit_precision() {return RR::precision();}
-@@ -289,7 +289,7 @@
- inline int is_approx_zero(double x) {return fabs(x)<1e-10;}
- 
- // We cannot set internal bit precision in this mode, so we just set the output decimal precision
--inline void set_precision(long n) {cout.precision(min(15,long(0.3*n)));}
-+inline void set_precision(long n) {cout.precision(min(15,long(0.3L*n)));}
- inline void set_precision(const string prompt)  {cout.precision(15);}
- #define Pi()    3.1415926535897932384626433832795028841
- #define Euler() (0.57721566490153286060651209008240243104)
-
diff --git a/srcpkgs/eclib/template b/srcpkgs/eclib/template
index e545d06eb5e4..542ae4aae14f 100644
--- a/srcpkgs/eclib/template
+++ b/srcpkgs/eclib/template
@@ -1,6 +1,6 @@
 # Template file for 'eclib'
 pkgname=eclib
-version=20210318
+version=20210408
 revision=1
 build_style=gnu-configure
 configure_args="--with-flint --with-boost"
@@ -11,7 +11,7 @@ maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="GPL-2.0-or-later"
 homepage="https://github.com/JohnCremona/eclib"
 distfiles="https://github.com/JohnCremona/eclib/archive/refs/tags/${version}.tar.gz"
-checksum=8ca611e818cc3acdd54c800be66f66219a52603516bff048d350dd1e95605484
+checksum=5354ea8edfedff7f10adeb8c5f8f3705dbeccb56e2840ab1eb2b3fad981c0e22
 
 pre_configure() {
 	./autogen.sh

From d039ed104203f1c88d2af7075f645d5c18f3ae1d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 13 May 2021 15:24:21 -0300
Subject: [PATCH 7/8] eclib: update to 20210503.

---
 srcpkgs/eclib/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/eclib/template b/srcpkgs/eclib/template
index 542ae4aae14f..bf98c22c8531 100644
--- a/srcpkgs/eclib/template
+++ b/srcpkgs/eclib/template
@@ -1,6 +1,6 @@
 # Template file for 'eclib'
 pkgname=eclib
-version=20210408
+version=20210503
 revision=1
 build_style=gnu-configure
 configure_args="--with-flint --with-boost"
@@ -11,7 +11,7 @@ maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="GPL-2.0-or-later"
 homepage="https://github.com/JohnCremona/eclib"
 distfiles="https://github.com/JohnCremona/eclib/archive/refs/tags/${version}.tar.gz"
-checksum=5354ea8edfedff7f10adeb8c5f8f3705dbeccb56e2840ab1eb2b3fad981c0e22
+checksum=b742e322f5aeffef7256c05a9b9f744a8f34cb52777c62764cce07a49b1d32fa
 
 pre_configure() {
 	./autogen.sh

From 1d0de43f0a5cb01577362e8272d7780e910f2575 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@gmail.com>
Date: Fri, 6 Aug 2021 16:32:24 -0300
Subject: [PATCH 8/8] Update srcpkgs/arb/template
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Co-authored-by: Érico Nogueira Rolim <34201958+ericonr@users.noreply.github.com>
---
 srcpkgs/arb/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/arb/template b/srcpkgs/arb/template
index 7c7df0aace15..8dc6da4a9488 100644
--- a/srcpkgs/arb/template
+++ b/srcpkgs/arb/template
@@ -2,7 +2,7 @@
 pkgname=arb
 version=2.19.0
 revision=1
-build_style="configure"
+build_style=configure
 configure_args="--prefix=/usr --with-gmp=/usr --with-mpfr=/usr --with-flint=/usr"
 makedepends="flintlib-devel"
 short_desc="C library for arbitrary-precision interval arithmetic"

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

* Re: [PR PATCH] [Updated] Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (25 preceding siblings ...)
  2021-08-06 19:32 ` [PR PATCH] [Updated] " tornaria
@ 2021-08-06 19:32 ` tornaria
  2021-08-06 19:36 ` [PR REVIEW] " tornaria
                   ` (42 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: tornaria @ 2021-08-06 19:32 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by tornaria against master on the void-packages repository

https://github.com/tornaria/void-packages math2
https://github.com/void-linux/void-packages/pull/30032

Math packages: gf2x, ntl, flintlib, arb, eclib
<!-- Mark items with [x] where applicable -->

#### General
- [x] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me

#### Notes
- This includes: `gf2x` (see also #29783), `ntl`, `flintlib`, `arb`, `eclib`.
- Everything is tested and check pass in x86_64, x86_64-musl, i686.

EDIT: split in smaller independent PR to ease review.

A patch file from https://github.com/void-linux/void-packages/pull/30032.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-math2-30032.patch --]
[-- Type: text/x-diff, Size: 18779 bytes --]

From 6750a0606813671c7edf61eebf3ec308644a6c33 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 29 Jan 2018 11:18:35 -0300
Subject: [PATCH 1/8] New package: gf2x-1.3.0

---
 common/shlibs         |  1 +
 srcpkgs/gf2x-devel    |  1 +
 srcpkgs/gf2x/template | 34 ++++++++++++++++++++++++++++++++++
 srcpkgs/gf2x/update   |  1 +
 4 files changed, 37 insertions(+)
 create mode 120000 srcpkgs/gf2x-devel
 create mode 100644 srcpkgs/gf2x/template
 create mode 100644 srcpkgs/gf2x/update

diff --git a/common/shlibs b/common/shlibs
index 0d53e2be7dfa..d3d7954f50b7 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3974,6 +3974,7 @@ libsword-1.8.1.so libsword-1.8.1_6
 libpari-gmp.so.7 pari-2.13.0_1
 libtree-sitter.so.0 tree-sitter-0.19.0_1
 libgtkdatabox.so.1 gtkdatabox3-1.0.0_1
+libgf2x.so.3 gf2x-1.3.0_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
 libwayland-cursor++.so.0 libwaylandpp-0.2.8_1
 libwayland-egl++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/gf2x-devel b/srcpkgs/gf2x-devel
new file mode 120000
index 000000000000..4542295e8de7
--- /dev/null
+++ b/srcpkgs/gf2x-devel
@@ -0,0 +1 @@
+gf2x
\ No newline at end of file
diff --git a/srcpkgs/gf2x/template b/srcpkgs/gf2x/template
new file mode 100644
index 000000000000..e9267578a2c6
--- /dev/null
+++ b/srcpkgs/gf2x/template
@@ -0,0 +1,34 @@
+# Template file for 'gf2x'
+pkgname=gf2x
+version=1.3.0
+revision=1
+wrksrc=gf2x-gf2x-${version}
+build_style="gnu-configure"
+hostmakedepends="automake libtool"
+short_desc="C/C++ library for fast arithmetic in GF(2)[x]"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="GPL-3.0-or-later"
+homepage="https://gitlab.inria.fr/gf2x/gf2x"
+distfiles="https://gitlab.inria.fr/gf2x/gf2x/-/archive/gf2x-${version}/gf2x-gf2x-${version}.tar.gz"
+checksum=11bcf98b620c60c2ee3b4460b02b7be741f14cfdc26b542f22c92950926575e0
+
+build_options="native"
+
+if [ ! "$build_option_native" ]; then
+	configure_args="--disable-sse3"
+fi
+
+pre_configure() {
+	autoreconf -fi
+}
+
+gf2x-devel_package() {
+	depends="gf2x-${version}_${revision}"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove "usr/include"
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+		vmove "usr/lib/pkgconfig"
+	}
+}
diff --git a/srcpkgs/gf2x/update b/srcpkgs/gf2x/update
new file mode 100644
index 000000000000..504503610161
--- /dev/null
+++ b/srcpkgs/gf2x/update
@@ -0,0 +1 @@
+pkgname=gf2x-gf2x

From cf037c607eb202f9fcd5356c669b72c39b4b1440 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 30 Jan 2018 11:02:38 -0300
Subject: [PATCH 2/8] New package: ntl-11.4.4

---
 common/shlibs        |  1 +
 srcpkgs/ntl-devel    |  1 +
 srcpkgs/ntl/template | 36 ++++++++++++++++++++++++++++++++++++
 srcpkgs/ntl/update   |  1 +
 4 files changed, 39 insertions(+)
 create mode 120000 srcpkgs/ntl-devel
 create mode 100644 srcpkgs/ntl/template
 create mode 100644 srcpkgs/ntl/update

diff --git a/common/shlibs b/common/shlibs
index d3d7954f50b7..137f67fe4383 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3975,6 +3975,7 @@ libpari-gmp.so.7 pari-2.13.0_1
 libtree-sitter.so.0 tree-sitter-0.19.0_1
 libgtkdatabox.so.1 gtkdatabox3-1.0.0_1
 libgf2x.so.3 gf2x-1.3.0_1
+libntl.so.43 ntl-11.4.4_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
 libwayland-cursor++.so.0 libwaylandpp-0.2.8_1
 libwayland-egl++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/ntl-devel b/srcpkgs/ntl-devel
new file mode 120000
index 000000000000..fc0a39987329
--- /dev/null
+++ b/srcpkgs/ntl-devel
@@ -0,0 +1 @@
+ntl
\ No newline at end of file
diff --git a/srcpkgs/ntl/template b/srcpkgs/ntl/template
new file mode 100644
index 000000000000..e140298eb559
--- /dev/null
+++ b/srcpkgs/ntl/template
@@ -0,0 +1,36 @@
+# Template file for 'ntl'
+pkgname=ntl
+version=11.4.4
+revision=1
+build_wrksrc="src"
+build_style="configure"
+hostmakedepends="perl"
+makedepends="gmp-devel gf2x-devel"
+short_desc="Library for doing Number Theory"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="LGPL-2.1-or-later"
+homepage="https://libntl.org"
+distfiles="https://libntl.org/ntl-${version}.tar.gz"
+checksum=9d7f6e82e11a409f151c0de2deb08c0d763baf9834fddfd432bf3d218f8021db
+nocross=yes
+
+build_options="native"
+
+do_configure() {
+	# see http://www.shoup.net/ntl/doc/tour-unix.html
+	./configure CXX="$CXX" CXXFLAGS="$CXXFLAGS" \
+		PREFIX="/usr" SHARED="on" NTL_GF2X_LIB="on" \
+		NATIVE="$(vopt_if native 'on' 'off')"
+}
+
+ntl-devel_package() {
+	depends="ntl-${version}_${revision}"
+	depends+=" gmp-devel gf2x-devel"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove "usr/include"
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+		vmove "usr/share"
+	}
+}
diff --git a/srcpkgs/ntl/update b/srcpkgs/ntl/update
new file mode 100644
index 000000000000..8ccb86344234
--- /dev/null
+++ b/srcpkgs/ntl/update
@@ -0,0 +1 @@
+site="${homepage}/download.html"

From cc613d072d50b6a03f256e8df1ea567cb9fe5dc1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Fri, 2 Feb 2018 22:42:49 -0300
Subject: [PATCH 3/8] New package: flintlib-2.7.1

---
 common/shlibs             |  1 +
 srcpkgs/flintlib-devel    |  1 +
 srcpkgs/flintlib/template | 30 ++++++++++++++++++++++++++++++
 srcpkgs/flintlib/update   |  2 ++
 4 files changed, 34 insertions(+)
 create mode 120000 srcpkgs/flintlib-devel
 create mode 100644 srcpkgs/flintlib/template
 create mode 100644 srcpkgs/flintlib/update

diff --git a/common/shlibs b/common/shlibs
index 137f67fe4383..b8a1f7d0a080 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3976,6 +3976,7 @@ libtree-sitter.so.0 tree-sitter-0.19.0_1
 libgtkdatabox.so.1 gtkdatabox3-1.0.0_1
 libgf2x.so.3 gf2x-1.3.0_1
 libntl.so.43 ntl-11.4.4_1
+libflint.so.15 flintlib-2.7.1_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
 libwayland-cursor++.so.0 libwaylandpp-0.2.8_1
 libwayland-egl++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/flintlib-devel b/srcpkgs/flintlib-devel
new file mode 120000
index 000000000000..7c2633183069
--- /dev/null
+++ b/srcpkgs/flintlib-devel
@@ -0,0 +1 @@
+flintlib
\ No newline at end of file
diff --git a/srcpkgs/flintlib/template b/srcpkgs/flintlib/template
new file mode 100644
index 000000000000..149cb66f3187
--- /dev/null
+++ b/srcpkgs/flintlib/template
@@ -0,0 +1,30 @@
+# Template file for 'flintlib'
+pkgname=flintlib
+version=2.7.1
+revision=1
+wrksrc="flint-${version}"
+build_style="configure"
+configure_args="--prefix=/usr --with-gmp=/usr --with-mpfr=/usr --with-ntl=/usr"
+makedepends="mpfr-devel ntl-devel"
+short_desc="Fast Library for Number Theory"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="LGPL-2.1-or-later"
+homepage="https://flintlib.org"
+distfiles="https://flintlib.org/flint-${version}.tar.gz"
+checksum=186e2fd9ab67df8a05b122fb018269b382e4babcdb17353c4be1fe364dca481e
+nocross=yes
+
+if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
+	CFLAGS="-D_GNU_SOURCE"
+fi
+
+flintlib-devel_package() {
+	depends="flintlib-${version}_${revision}"
+	depends+=" mpfr-devel"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove "usr/include"
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+	}
+}
diff --git a/srcpkgs/flintlib/update b/srcpkgs/flintlib/update
new file mode 100644
index 000000000000..8eee53cf22f2
--- /dev/null
+++ b/srcpkgs/flintlib/update
@@ -0,0 +1,2 @@
+pkgname=flint
+site="${homepage}/downloads.html"

From 9b51d70e928dcda490847e50f8f1fe702737c71c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 4 Feb 2018 01:00:19 -0300
Subject: [PATCH 4/8] New package: arb-2.19.0

---
 common/shlibs        |  1 +
 srcpkgs/arb-devel    |  1 +
 srcpkgs/arb/template | 29 +++++++++++++++++++++++++++++
 3 files changed, 31 insertions(+)
 create mode 120000 srcpkgs/arb-devel
 create mode 100644 srcpkgs/arb/template

diff --git a/common/shlibs b/common/shlibs
index b8a1f7d0a080..d4a2cee990e9 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3977,6 +3977,7 @@ libgtkdatabox.so.1 gtkdatabox3-1.0.0_1
 libgf2x.so.3 gf2x-1.3.0_1
 libntl.so.43 ntl-11.4.4_1
 libflint.so.15 flintlib-2.7.1_1
+libarb.so.2 arb-2.19.0_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
 libwayland-cursor++.so.0 libwaylandpp-0.2.8_1
 libwayland-egl++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/arb-devel b/srcpkgs/arb-devel
new file mode 120000
index 000000000000..456b9f00a86c
--- /dev/null
+++ b/srcpkgs/arb-devel
@@ -0,0 +1 @@
+arb
\ No newline at end of file
diff --git a/srcpkgs/arb/template b/srcpkgs/arb/template
new file mode 100644
index 000000000000..7c7df0aace15
--- /dev/null
+++ b/srcpkgs/arb/template
@@ -0,0 +1,29 @@
+# Template file for 'arb'
+pkgname=arb
+version=2.19.0
+revision=1
+build_style="configure"
+configure_args="--prefix=/usr --with-gmp=/usr --with-mpfr=/usr --with-flint=/usr"
+makedepends="flintlib-devel"
+short_desc="C library for arbitrary-precision interval arithmetic"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="LGPL-2.1-or-later"
+homepage="https://arblib.org"
+distfiles="https://github.com/fredrik-johansson/arb/archive/${version}.tar.gz"
+checksum=0aec6b492b6e9a543bdb3287a91f976951e2ba74fd4de942e692e21f7edbcf13
+nocross=yes
+
+if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
+	CFLAGS="-D_GNU_SOURCE"
+fi
+
+arb-devel_package() {
+	depends="arb-${version}_${revision}"
+	depends+=" flintlib-devel"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove "usr/include"
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+	}
+}

From 09028147864963ac59cb851cbac9bc22b18d8d97 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 Jun 2020 14:50:01 -0300
Subject: [PATCH 5/8] New package: eclib-20210318

---
 common/shlibs                             |  1 +
 srcpkgs/eclib-devel                       |  1 +
 srcpkgs/eclib/patches/set_precision.patch | 34 +++++++++++++++++++++++
 srcpkgs/eclib/template                    | 30 ++++++++++++++++++++
 4 files changed, 66 insertions(+)
 create mode 120000 srcpkgs/eclib-devel
 create mode 100644 srcpkgs/eclib/patches/set_precision.patch
 create mode 100644 srcpkgs/eclib/template

diff --git a/common/shlibs b/common/shlibs
index d4a2cee990e9..a7c384e15f0c 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3978,6 +3978,7 @@ libgf2x.so.3 gf2x-1.3.0_1
 libntl.so.43 ntl-11.4.4_1
 libflint.so.15 flintlib-2.7.1_1
 libarb.so.2 arb-2.19.0_1
+libec.so.7 eclib-20210318_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
 libwayland-cursor++.so.0 libwaylandpp-0.2.8_1
 libwayland-egl++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/eclib-devel b/srcpkgs/eclib-devel
new file mode 120000
index 000000000000..d29e610e9249
--- /dev/null
+++ b/srcpkgs/eclib-devel
@@ -0,0 +1 @@
+eclib
\ No newline at end of file
diff --git a/srcpkgs/eclib/patches/set_precision.patch b/srcpkgs/eclib/patches/set_precision.patch
new file mode 100644
index 000000000000..d1b6072ff399
--- /dev/null
+++ b/srcpkgs/eclib/patches/set_precision.patch
@@ -0,0 +1,34 @@
+This changes 0.3 by 0.3L, otherwise tests fail in i686 due to different rounding.
+
+See: https://github.com/JohnCremona/eclib/issues/68
+
+--- libsrc/eclib/interface.h    2021-03-18 12:22:52.000000000 -0300
++++ libsrc/eclib/interface.h    2021-04-05 15:15:52.355310137 -0300
+@@ -240,7 +240,7 @@
+ 
+ // Set internal precision to n bits and output precision to (0.3*n)-1 decimal places
+ inline void set_precision(long n)
+-{RR::SetPrecision(n); RR::SetOutputPrecision(long(0.3*n)-1);}
++{RR::SetPrecision(n); RR::SetOutputPrecision(long(0.3L*n)-1);}
+ 
+ // Mostly for backward compatibility (used in saturate.cc) or for
+ // temporarily changing internal precision when no output is relevant:
+@@ -252,7 +252,7 @@
+   {long n; cerr<<prompt<<": "; cin>>n; set_precision(n);}
+ 
+ // read current precision converted to decimal (approximately)
+-inline long decimal_precision() {return long(RR::precision()*0.3);}
++inline long decimal_precision() {return long(RR::precision()*0.3L);}
+ 
+ // read current bit precision
+ inline long bit_precision() {return RR::precision();}
+@@ -289,7 +289,7 @@
+ inline int is_approx_zero(double x) {return fabs(x)<1e-10;}
+ 
+ // We cannot set internal bit precision in this mode, so we just set the output decimal precision
+-inline void set_precision(long n) {cout.precision(min(15,long(0.3*n)));}
++inline void set_precision(long n) {cout.precision(min(15,long(0.3L*n)));}
+ inline void set_precision(const string prompt)  {cout.precision(15);}
+ #define Pi()    3.1415926535897932384626433832795028841
+ #define Euler() (0.57721566490153286060651209008240243104)
+
diff --git a/srcpkgs/eclib/template b/srcpkgs/eclib/template
new file mode 100644
index 000000000000..e545d06eb5e4
--- /dev/null
+++ b/srcpkgs/eclib/template
@@ -0,0 +1,30 @@
+# Template file for 'eclib'
+pkgname=eclib
+version=20210318
+revision=1
+build_style=gnu-configure
+configure_args="--with-flint --with-boost"
+hostmakedepends="automake autoconf-archive libtool"
+makedepends="pari-devel ntl-devel flintlib-devel boost-devel"
+short_desc="Elliptic curve library, includes mwrank"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="GPL-2.0-or-later"
+homepage="https://github.com/JohnCremona/eclib"
+distfiles="https://github.com/JohnCremona/eclib/archive/refs/tags/${version}.tar.gz"
+checksum=8ca611e818cc3acdd54c800be66f66219a52603516bff048d350dd1e95605484
+
+pre_configure() {
+	./autogen.sh
+}
+
+eclib-devel_package() {
+	depends="eclib-${version}_${revision}"
+	depends+=" ntl-devel"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove "usr/include"
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+		vmove "usr/lib/pkgconfig"
+	}
+}

From 0b860be4ab5af9518c683a67f1ae2dd86925c193 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 8 Apr 2021 22:58:13 -0300
Subject: [PATCH 6/8] eclib: update to 20210408.

---
 srcpkgs/eclib/patches/set_precision.patch | 34 -----------------------
 srcpkgs/eclib/template                    |  4 +--
 2 files changed, 2 insertions(+), 36 deletions(-)
 delete mode 100644 srcpkgs/eclib/patches/set_precision.patch

diff --git a/srcpkgs/eclib/patches/set_precision.patch b/srcpkgs/eclib/patches/set_precision.patch
deleted file mode 100644
index d1b6072ff399..000000000000
--- a/srcpkgs/eclib/patches/set_precision.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-This changes 0.3 by 0.3L, otherwise tests fail in i686 due to different rounding.
-
-See: https://github.com/JohnCremona/eclib/issues/68
-
---- libsrc/eclib/interface.h    2021-03-18 12:22:52.000000000 -0300
-+++ libsrc/eclib/interface.h    2021-04-05 15:15:52.355310137 -0300
-@@ -240,7 +240,7 @@
- 
- // Set internal precision to n bits and output precision to (0.3*n)-1 decimal places
- inline void set_precision(long n)
--{RR::SetPrecision(n); RR::SetOutputPrecision(long(0.3*n)-1);}
-+{RR::SetPrecision(n); RR::SetOutputPrecision(long(0.3L*n)-1);}
- 
- // Mostly for backward compatibility (used in saturate.cc) or for
- // temporarily changing internal precision when no output is relevant:
-@@ -252,7 +252,7 @@
-   {long n; cerr<<prompt<<": "; cin>>n; set_precision(n);}
- 
- // read current precision converted to decimal (approximately)
--inline long decimal_precision() {return long(RR::precision()*0.3);}
-+inline long decimal_precision() {return long(RR::precision()*0.3L);}
- 
- // read current bit precision
- inline long bit_precision() {return RR::precision();}
-@@ -289,7 +289,7 @@
- inline int is_approx_zero(double x) {return fabs(x)<1e-10;}
- 
- // We cannot set internal bit precision in this mode, so we just set the output decimal precision
--inline void set_precision(long n) {cout.precision(min(15,long(0.3*n)));}
-+inline void set_precision(long n) {cout.precision(min(15,long(0.3L*n)));}
- inline void set_precision(const string prompt)  {cout.precision(15);}
- #define Pi()    3.1415926535897932384626433832795028841
- #define Euler() (0.57721566490153286060651209008240243104)
-
diff --git a/srcpkgs/eclib/template b/srcpkgs/eclib/template
index e545d06eb5e4..542ae4aae14f 100644
--- a/srcpkgs/eclib/template
+++ b/srcpkgs/eclib/template
@@ -1,6 +1,6 @@
 # Template file for 'eclib'
 pkgname=eclib
-version=20210318
+version=20210408
 revision=1
 build_style=gnu-configure
 configure_args="--with-flint --with-boost"
@@ -11,7 +11,7 @@ maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="GPL-2.0-or-later"
 homepage="https://github.com/JohnCremona/eclib"
 distfiles="https://github.com/JohnCremona/eclib/archive/refs/tags/${version}.tar.gz"
-checksum=8ca611e818cc3acdd54c800be66f66219a52603516bff048d350dd1e95605484
+checksum=5354ea8edfedff7f10adeb8c5f8f3705dbeccb56e2840ab1eb2b3fad981c0e22
 
 pre_configure() {
 	./autogen.sh

From d039ed104203f1c88d2af7075f645d5c18f3ae1d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 13 May 2021 15:24:21 -0300
Subject: [PATCH 7/8] eclib: update to 20210503.

---
 srcpkgs/eclib/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/eclib/template b/srcpkgs/eclib/template
index 542ae4aae14f..bf98c22c8531 100644
--- a/srcpkgs/eclib/template
+++ b/srcpkgs/eclib/template
@@ -1,6 +1,6 @@
 # Template file for 'eclib'
 pkgname=eclib
-version=20210408
+version=20210503
 revision=1
 build_style=gnu-configure
 configure_args="--with-flint --with-boost"
@@ -11,7 +11,7 @@ maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="GPL-2.0-or-later"
 homepage="https://github.com/JohnCremona/eclib"
 distfiles="https://github.com/JohnCremona/eclib/archive/refs/tags/${version}.tar.gz"
-checksum=5354ea8edfedff7f10adeb8c5f8f3705dbeccb56e2840ab1eb2b3fad981c0e22
+checksum=b742e322f5aeffef7256c05a9b9f744a8f34cb52777c62764cce07a49b1d32fa
 
 pre_configure() {
 	./autogen.sh

From 1d0de43f0a5cb01577362e8272d7780e910f2575 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@gmail.com>
Date: Fri, 6 Aug 2021 16:32:24 -0300
Subject: [PATCH 8/8] Update srcpkgs/arb/template
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Co-authored-by: Érico Nogueira Rolim <34201958+ericonr@users.noreply.github.com>
---
 srcpkgs/arb/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/arb/template b/srcpkgs/arb/template
index 7c7df0aace15..8dc6da4a9488 100644
--- a/srcpkgs/arb/template
+++ b/srcpkgs/arb/template
@@ -2,7 +2,7 @@
 pkgname=arb
 version=2.19.0
 revision=1
-build_style="configure"
+build_style=configure
 configure_args="--prefix=/usr --with-gmp=/usr --with-mpfr=/usr --with-flint=/usr"
 makedepends="flintlib-devel"
 short_desc="C library for arbitrary-precision interval arithmetic"

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

* Re: [PR REVIEW] Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (26 preceding siblings ...)
  2021-08-06 19:32 ` tornaria
@ 2021-08-06 19:36 ` tornaria
  2021-08-06 19:44 ` ericonr
                   ` (41 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: tornaria @ 2021-08-06 19:36 UTC (permalink / raw)
  To: ml

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

New review comment by tornaria on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#discussion_r684463684

Comment:
Somehow I feel uneasy about that. 

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

* Re: [PR REVIEW] Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (27 preceding siblings ...)
  2021-08-06 19:36 ` [PR REVIEW] " tornaria
@ 2021-08-06 19:44 ` ericonr
  2021-08-06 19:44 ` ericonr
                   ` (40 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: ericonr @ 2021-08-06 19:44 UTC (permalink / raw)
  To: ml

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

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#discussion_r684467393

Comment:
This is done because otherwise parsing is ambiguous and that sucks.

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

* Re: [PR REVIEW] Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (28 preceding siblings ...)
  2021-08-06 19:44 ` ericonr
@ 2021-08-06 19:44 ` ericonr
  2021-08-06 20:02 ` tornaria
                   ` (39 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: ericonr @ 2021-08-06 19:44 UTC (permalink / raw)
  To: ml

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

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#discussion_r684467557

Comment:
And it helps with updates, in some occasions

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

* Re: [PR REVIEW] Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (29 preceding siblings ...)
  2021-08-06 19:44 ` ericonr
@ 2021-08-06 20:02 ` tornaria
  2021-08-06 20:05 ` ericonr
                   ` (38 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: tornaria @ 2021-08-06 20:02 UTC (permalink / raw)
  To: ml

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

New review comment by tornaria on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#discussion_r684476151

Comment:
I added this to `common/options.description` in #29997 (see 2274429). There is a discussion about this in that PR.

My intention is to have an easy way to recompile math software for native arch. Depending on the package sometimes is sse3, sometimes is more. In this case the library also uses sse4.1 and pclmul, but they are dependents so `--disable-sse3` is enough to disable all of that is not generic (x86_64 implies sse2 but nothing more).

Not disabling sse3 as above means that the library will be compiled with -msse3, -msse41, -mpclmul, ... and maybe also -march=native, etc, so that all the options available in the current cpu will be used.

In general, different software have different features, oftentimes they have custom written asm for different architectures so selecting build option "native" will not necessarily be equivalent to just using `-march=native`.

In many cases (like here) one has to be careful because native is the default and it is necessary to make sure the binary actually is generic enough for x86_64 (I'm not sure how to test this -- can a VM disable some sse levels even if the host has them? I have an old core 2 quad (q9550) working (even with 8GB RAM) but that already has sse3!


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

* Re: [PR REVIEW] Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (30 preceding siblings ...)
  2021-08-06 20:02 ` tornaria
@ 2021-08-06 20:05 ` ericonr
  2021-08-06 20:05 ` ericonr
                   ` (37 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: ericonr @ 2021-08-06 20:05 UTC (permalink / raw)
  To: ml

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

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#discussion_r684477264

Comment:
AFAIK you can test, but I'm not sure it's necessary. We can wait for bug reports, IMO.

 Please import the commit into this PR, then :)

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

* Re: [PR REVIEW] Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (31 preceding siblings ...)
  2021-08-06 20:05 ` ericonr
@ 2021-08-06 20:05 ` ericonr
  2021-08-06 20:11 ` tornaria
                   ` (36 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: ericonr @ 2021-08-06 20:05 UTC (permalink / raw)
  To: ml

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

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#discussion_r684477384

Comment:
I wonder if `native_build` would be better.

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

* Re: Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (32 preceding siblings ...)
  2021-08-06 20:05 ` ericonr
@ 2021-08-06 20:11 ` tornaria
  2021-08-06 20:48 ` [PR REVIEW] " tornaria
                   ` (35 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: tornaria @ 2021-08-06 20:11 UTC (permalink / raw)
  To: ml

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

New comment by tornaria on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#issuecomment-894494210

Comment:
General comment for @ericonr : Thanks for your detailed review. I will apply all suggestions you made, and update to newer versions for arb, eclib, flintlib, ntl.

I hope this can be merged into void -- I want to help include more math software in void, I can maintain, update, etc.


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

* Re: [PR REVIEW] Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (33 preceding siblings ...)
  2021-08-06 20:11 ` tornaria
@ 2021-08-06 20:48 ` tornaria
  2021-08-06 20:48 ` tornaria
                   ` (34 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: tornaria @ 2021-08-06 20:48 UTC (permalink / raw)
  To: ml

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

New review comment by tornaria on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#discussion_r684496524

Comment:
I don't remember from the top of my head; I did try it and something didn't work. I will retry it and comment.

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

* Re: [PR REVIEW] Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (34 preceding siblings ...)
  2021-08-06 20:48 ` [PR REVIEW] " tornaria
@ 2021-08-06 20:48 ` tornaria
  2021-08-06 20:52 ` tornaria
                   ` (33 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: tornaria @ 2021-08-06 20:48 UTC (permalink / raw)
  To: ml

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

New review comment by tornaria on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#discussion_r684496539

Comment:
Note that many times `makedepends` has more packages than `depends` for the -devel package, just not in this case, that's why I tried to be explicit about it.

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

* Re: [PR REVIEW] Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (35 preceding siblings ...)
  2021-08-06 20:48 ` tornaria
@ 2021-08-06 20:52 ` tornaria
  2021-08-06 21:00 ` tornaria
                   ` (32 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: tornaria @ 2021-08-06 20:52 UTC (permalink / raw)
  To: ml

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

New review comment by tornaria on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#discussion_r684498634

Comment:
```
aclocal
libtoolize --automake
automake --add-missing
autoconf
```

I'll try to check if `autoreconf -fi` is enough.

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

* Re: [PR REVIEW] Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (36 preceding siblings ...)
  2021-08-06 20:52 ` tornaria
@ 2021-08-06 21:00 ` tornaria
  2021-08-06 21:22 ` ericonr
                   ` (31 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: tornaria @ 2021-08-06 21:00 UTC (permalink / raw)
  To: ml

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

New review comment by tornaria on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#discussion_r684502077

Comment:
Isn't `"${homepage}"` the default for `site` in any case?  

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

* Re: [PR REVIEW] Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (37 preceding siblings ...)
  2021-08-06 21:00 ` tornaria
@ 2021-08-06 21:22 ` ericonr
  2021-08-06 21:24 ` ericonr
                   ` (30 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: ericonr @ 2021-08-06 21:22 UTC (permalink / raw)
  To: ml

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

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#discussion_r684510465

Comment:
Right, but if homepage moves to a github website or whatever the path won't exist anymore.

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

* Re: [PR REVIEW] Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (38 preceding siblings ...)
  2021-08-06 21:22 ` ericonr
@ 2021-08-06 21:24 ` ericonr
  2021-08-07  0:12 ` ericonr
                   ` (29 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: ericonr @ 2021-08-06 21:24 UTC (permalink / raw)
  To: ml

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

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#discussion_r684511172

Comment:
Ok, that's fair. Can leave as is.

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

* Re: Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (39 preceding siblings ...)
  2021-08-06 21:24 ` ericonr
@ 2021-08-07  0:12 ` ericonr
  2021-08-08 23:04 ` tornaria
                   ` (28 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: ericonr @ 2021-08-07  0:12 UTC (permalink / raw)
  To: ml

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

New comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#issuecomment-894574407

Comment:
My `_GNU_SOURCE` suggestion was apparently a bad idea for one of the packages, feel free to move it back to a conditional for musl.

Turns out glibc will define its own `fdiv` function if you include `<tgmath.h>` with `_GNU_SOURCE` defined, so we can't define it for glibc to avoid polluting the namespace and causing conflicts.

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

* Re: Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (40 preceding siblings ...)
  2021-08-07  0:12 ` ericonr
@ 2021-08-08 23:04 ` tornaria
  2021-08-08 23:22 ` [PR PATCH] [Updated] " tornaria
                   ` (27 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: tornaria @ 2021-08-08 23:04 UTC (permalink / raw)
  To: ml

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

New comment by tornaria on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#issuecomment-894868859

Comment:
> My `_GNU_SOURCE` suggestion was apparently a bad idea for one of the packages, feel free to move it back to a conditional for musl.

I actually went ahead and fixed it at the source: https://github.com/wbhart/flint2/pull/988 and https://github.com/fredrik-johansson/arb/pull/376. My new version will include those as patches which they will hopefully be merged upstream.

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

* Re: [PR PATCH] [Updated] Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (41 preceding siblings ...)
  2021-08-08 23:04 ` tornaria
@ 2021-08-08 23:22 ` tornaria
  2021-08-08 23:24 ` [PR REVIEW] " tornaria
                   ` (26 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: tornaria @ 2021-08-08 23:22 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by tornaria against master on the void-packages repository

https://github.com/tornaria/void-packages math2
https://github.com/void-linux/void-packages/pull/30032

Math packages: gf2x, ntl, flintlib, arb, eclib
<!-- Mark items with [x] where applicable -->

#### General
- [x] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me

#### Notes
- This includes: `gf2x` (see also #29783), `ntl`, `flintlib`, `arb`, `eclib`.
- Everything is tested and check pass in x86_64, x86_64-musl, i686.

EDIT: split in smaller independent PR to ease review.

A patch file from https://github.com/void-linux/void-packages/pull/30032.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-math2-30032.patch --]
[-- Type: text/x-diff, Size: 17357 bytes --]

From 19c61ac367cb0a39d7a2e56d622a7fc18dec96eb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 29 Jan 2018 11:18:35 -0300
Subject: [PATCH 1/5] New package: gf2x-1.3.0

---
 common/options.description |  1 +
 common/shlibs              |  1 +
 srcpkgs/gf2x-devel         |  1 +
 srcpkgs/gf2x/template      | 35 +++++++++++++++++++++++++++++++++++
 srcpkgs/gf2x/update        |  1 +
 5 files changed, 39 insertions(+)
 create mode 120000 srcpkgs/gf2x-devel
 create mode 100644 srcpkgs/gf2x/template
 create mode 100644 srcpkgs/gf2x/update

diff --git a/common/options.description b/common/options.description
index 06360211a23f..46e24a140e52 100644
--- a/common/options.description
+++ b/common/options.description
@@ -49,6 +49,7 @@ desc_option_lz4="Enable support for LZ4 compression format"
 desc_option_lzo="Enable support for LZO compression format"
 desc_option_microhttpd="Enable support for microhttpd"
 desc_option_mpcdec="Enable support for the Musepack decoder"
+desc_option_native_build="Enable instruction subsets supported by the build computer"
 desc_option_notify="Enable support for desktop notifications (libnotify)"
 desc_option_nvenc="Enable support for NVENC codecs"
 desc_option_openblas="Enable support for OpenBLAS accelerated linear algebra"
diff --git a/common/shlibs b/common/shlibs
index 5affb5dc09fd..6ee93e48bfc9 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4008,6 +4008,7 @@ libsword-1.8.1.so libsword-1.8.1_6
 libpari-gmp.so.7 pari-2.13.0_1
 libtree-sitter.so.0 tree-sitter-0.19.0_1
 libgtkdatabox.so.1 gtkdatabox3-1.0.0_1
+libgf2x.so.3 gf2x-1.3.0_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
 libwayland-cursor++.so.0 libwaylandpp-0.2.8_1
 libwayland-egl++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/gf2x-devel b/srcpkgs/gf2x-devel
new file mode 120000
index 000000000000..4542295e8de7
--- /dev/null
+++ b/srcpkgs/gf2x-devel
@@ -0,0 +1 @@
+gf2x
\ No newline at end of file
diff --git a/srcpkgs/gf2x/template b/srcpkgs/gf2x/template
new file mode 100644
index 000000000000..918a9f2d0d5a
--- /dev/null
+++ b/srcpkgs/gf2x/template
@@ -0,0 +1,35 @@
+# Template file for 'gf2x'
+pkgname=gf2x
+version=1.3.0
+revision=1
+wrksrc=gf2x-gf2x-${version}
+build_style=gnu-configure
+hostmakedepends="automake libtool"
+short_desc="C/C++ library for fast arithmetic in GF(2)[x]"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="GPL-3.0-or-later"
+homepage="https://gitlab.inria.fr/gf2x/gf2x"
+distfiles="https://gitlab.inria.fr/gf2x/gf2x/-/archive/gf2x-${version}/gf2x-gf2x-${version}.tar.gz"
+checksum=11bcf98b620c60c2ee3b4460b02b7be741f14cfdc26b542f22c92950926575e0
+
+build_options="native_build"
+
+if [ -z "$build_option_native_build" ]; then
+	# this disables sse3, ssse3, sse41, pclmul
+	configure_args="--disable-sse3"
+fi
+
+pre_configure() {
+	autoreconf -fi
+}
+
+gf2x-devel_package() {
+	depends="${sourcepkg}>=${version}_${revision}"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove usr/include
+		vmove usr/lib/*.a
+		vmove usr/lib/*.so
+		vmove usr/lib/pkgconfig
+	}
+}
diff --git a/srcpkgs/gf2x/update b/srcpkgs/gf2x/update
new file mode 100644
index 000000000000..504503610161
--- /dev/null
+++ b/srcpkgs/gf2x/update
@@ -0,0 +1 @@
+pkgname=gf2x-gf2x

From 424c5b7e14b67d4a523ce738764b4d33d7bd50d7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 30 Jan 2018 11:02:38 -0300
Subject: [PATCH 2/5] New package: ntl-11.5.1

---
 common/shlibs        |  1 +
 srcpkgs/ntl-devel    |  1 +
 srcpkgs/ntl/template | 36 ++++++++++++++++++++++++++++++++++++
 srcpkgs/ntl/update   |  1 +
 4 files changed, 39 insertions(+)
 create mode 120000 srcpkgs/ntl-devel
 create mode 100644 srcpkgs/ntl/template
 create mode 100644 srcpkgs/ntl/update

diff --git a/common/shlibs b/common/shlibs
index 6ee93e48bfc9..a35e0d24a9c2 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4009,6 +4009,7 @@ libpari-gmp.so.7 pari-2.13.0_1
 libtree-sitter.so.0 tree-sitter-0.19.0_1
 libgtkdatabox.so.1 gtkdatabox3-1.0.0_1
 libgf2x.so.3 gf2x-1.3.0_1
+libntl.so.44 ntl-11.5.1_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
 libwayland-cursor++.so.0 libwaylandpp-0.2.8_1
 libwayland-egl++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/ntl-devel b/srcpkgs/ntl-devel
new file mode 120000
index 000000000000..fc0a39987329
--- /dev/null
+++ b/srcpkgs/ntl-devel
@@ -0,0 +1 @@
+ntl
\ No newline at end of file
diff --git a/srcpkgs/ntl/template b/srcpkgs/ntl/template
new file mode 100644
index 000000000000..9020c6b5ce68
--- /dev/null
+++ b/srcpkgs/ntl/template
@@ -0,0 +1,36 @@
+# Template file for 'ntl'
+pkgname=ntl
+version=11.5.1
+revision=1
+build_wrksrc="src"
+build_style=configure
+hostmakedepends="perl libtool"
+makedepends="gmp-devel gf2x-devel"
+short_desc="Library for doing Number Theory"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="LGPL-2.1-or-later"
+homepage="https://libntl.org"
+distfiles="https://libntl.org/ntl-${version}.tar.gz"
+checksum=210d06c31306cbc6eaf6814453c56c776d9d8e8df36d74eb306f6a523d1c6a8a
+nocross=yes # runs binaries built for target
+
+build_options="native_build"
+
+do_configure() {
+	# see http://www.shoup.net/ntl/doc/tour-unix.html
+	./configure CXX="$CXX" CXXFLAGS="$CXXFLAGS" LIBTOOL="libtool" \
+		PREFIX="/usr" SHARED="on" NTL_GF2X_LIB="on" \
+		NATIVE="$(vopt_if native_build 'on' 'off')"
+}
+
+ntl-devel_package() {
+	depends="${sourcepkg}>=${version}_${revision}"
+	depends+=" ${makedepends}"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove usr/include
+		vmove usr/lib/*.a
+		vmove usr/lib/*.so
+		vmove usr/share
+	}
+}
diff --git a/srcpkgs/ntl/update b/srcpkgs/ntl/update
new file mode 100644
index 000000000000..7ca2974b146f
--- /dev/null
+++ b/srcpkgs/ntl/update
@@ -0,0 +1 @@
+site="https://libntl.org/download.html"

From fa89aee97db8aa2df40713b8ea7019437730e736 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Fri, 2 Feb 2018 22:42:49 -0300
Subject: [PATCH 3/5] New package: flintlib-2.8.0

---
 common/shlibs                                 |  1 +
 srcpkgs/flintlib-devel                        |  1 +
 .../0001-fix-compilation-with-musl-libc.patch | 80 +++++++++++++++++++
 srcpkgs/flintlib/template                     | 25 ++++++
 srcpkgs/flintlib/update                       |  3 +
 5 files changed, 110 insertions(+)
 create mode 120000 srcpkgs/flintlib-devel
 create mode 100644 srcpkgs/flintlib/patches/0001-fix-compilation-with-musl-libc.patch
 create mode 100644 srcpkgs/flintlib/template
 create mode 100644 srcpkgs/flintlib/update

diff --git a/common/shlibs b/common/shlibs
index a35e0d24a9c2..bfd2ead4bcb9 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4010,6 +4010,7 @@ libtree-sitter.so.0 tree-sitter-0.19.0_1
 libgtkdatabox.so.1 gtkdatabox3-1.0.0_1
 libgf2x.so.3 gf2x-1.3.0_1
 libntl.so.44 ntl-11.5.1_1
+libflint.so.16 flintlib-2.8.0_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
 libwayland-cursor++.so.0 libwaylandpp-0.2.8_1
 libwayland-egl++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/flintlib-devel b/srcpkgs/flintlib-devel
new file mode 120000
index 000000000000..7c2633183069
--- /dev/null
+++ b/srcpkgs/flintlib-devel
@@ -0,0 +1 @@
+flintlib
\ No newline at end of file
diff --git a/srcpkgs/flintlib/patches/0001-fix-compilation-with-musl-libc.patch b/srcpkgs/flintlib/patches/0001-fix-compilation-with-musl-libc.patch
new file mode 100644
index 000000000000..646af0ce43d9
--- /dev/null
+++ b/srcpkgs/flintlib/patches/0001-fix-compilation-with-musl-libc.patch
@@ -0,0 +1,80 @@
+From 2a5b3f8bda5a50cb8a17db0c65fba489d1bf7c71 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
+Date: Fri, 6 Aug 2021 23:57:10 -0300
+Subject: [PATCH] fix compilation with musl libc
+
+Reported upstream at https://github.com/wbhart/flint2/pull/988
+
+---
+ fmpz.h                                              | 3 +++
+ fmpz_mod_poly_factor/factor_distinct_deg_threaded.c | 1 +
+ fmpz_poly/taylor_shift_divconquer.c                 | 1 +
+ fmpz_poly/taylor_shift_multi_mod_threaded.c         | 1 +
+ nmod_poly_factor/factor_distinct_deg_threaded.c     | 1 +
+ 5 files changed, 7 insertions(+)
+
+diff --git a/fmpz.h b/fmpz.h
+index bb9aa71c9..a091e082e 100644
+--- a/fmpz.h
++++ b/fmpz.h
+@@ -32,6 +32,9 @@
+ #include "fmpz-conversions.h"
+ 
+ #if FLINT_USES_PTHREAD
++#ifndef _GNU_SOURCE
++#define _GNU_SOURCE
++#endif
+ #include <pthread.h>
+ #endif
+ 
+diff --git a/fmpz_mod_poly_factor/factor_distinct_deg_threaded.c b/fmpz_mod_poly_factor/factor_distinct_deg_threaded.c
+index 7a0f8cd6d..48ae530e6 100644
+--- a/fmpz_mod_poly_factor/factor_distinct_deg_threaded.c
++++ b/fmpz_mod_poly_factor/factor_distinct_deg_threaded.c
+@@ -15,6 +15,7 @@
+ #define ulong ulongxx/* interferes with system includes */
+ 
+ #include <math.h>
++#define _GNU_SOURCE
+ #include <pthread.h>
+ 
+ #undef ulong
+diff --git a/fmpz_poly/taylor_shift_divconquer.c b/fmpz_poly/taylor_shift_divconquer.c
+index 9c1397f3e..608c64a96 100644
+--- a/fmpz_poly/taylor_shift_divconquer.c
++++ b/fmpz_poly/taylor_shift_divconquer.c
+@@ -11,6 +11,7 @@
+ */
+ 
+ #include <math.h>
++#define _GNU_SOURCE
+ #include <pthread.h>
+ #include <gmp.h>
+ #include "flint.h"
+diff --git a/fmpz_poly/taylor_shift_multi_mod_threaded.c b/fmpz_poly/taylor_shift_multi_mod_threaded.c
+index 87bbe251d..b54886655 100644
+--- a/fmpz_poly/taylor_shift_multi_mod_threaded.c
++++ b/fmpz_poly/taylor_shift_multi_mod_threaded.c
+@@ -10,6 +10,7 @@
+     (at your option) any later version.  See <https://www.gnu.org/licenses/>.
+ */
+ 
++#define _GNU_SOURCE
+ #include <pthread.h>
+ #include <gmp.h>
+ #include "flint.h"
+diff --git a/nmod_poly_factor/factor_distinct_deg_threaded.c b/nmod_poly_factor/factor_distinct_deg_threaded.c
+index 272dd871f..b43765fe4 100644
+--- a/nmod_poly_factor/factor_distinct_deg_threaded.c
++++ b/nmod_poly_factor/factor_distinct_deg_threaded.c
+@@ -15,6 +15,7 @@
+ #define ulong ulongxx/* interferes with system includes */
+ 
+ #include <math.h>
++#define _GNU_SOURCE
+ #include <pthread.h>
+ 
+ #undef ulong
+-- 
+2.32.0
+
diff --git a/srcpkgs/flintlib/template b/srcpkgs/flintlib/template
new file mode 100644
index 000000000000..c8cfca9b7a59
--- /dev/null
+++ b/srcpkgs/flintlib/template
@@ -0,0 +1,25 @@
+# Template file for 'flintlib'
+pkgname=flintlib
+version=2.8.0
+revision=1
+wrksrc="flint-${version}"
+build_style=configure
+configure_args="--prefix=/usr --with-gmp=/usr --with-mpfr=/usr --with-ntl=/usr"
+makedepends="mpfr-devel ntl-devel"
+short_desc="Fast Library for Number Theory"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="LGPL-2.1-or-later"
+homepage="https://flintlib.org"
+distfiles="https://flintlib.org/flint-${version}.tar.gz"
+checksum=584235cdc39d779d9920eaef16fe084f3c26ffeeea003a3fff64a20a0f33449e
+
+flintlib-devel_package() {
+	depends="flintlib>=${version}_${revision}"
+	depends+=" mpfr-devel"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove usr/include
+		vmove usr/lib/*.a
+		vmove usr/lib/*.so
+	}
+}
diff --git a/srcpkgs/flintlib/update b/srcpkgs/flintlib/update
new file mode 100644
index 000000000000..21d6ab4bae5b
--- /dev/null
+++ b/srcpkgs/flintlib/update
@@ -0,0 +1,3 @@
+# package was named 'flintlib' because of another package
+pkgname=flint
+site="https://flintlib.org/downloads.html"

From 2f3225ab0fd7c7d334db7cde04a88c250bfffba2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 4 Feb 2018 01:00:19 -0300
Subject: [PATCH 4/5] New package: arb-2.20.0

---
 common/shlibs                                 |  1 +
 srcpkgs/arb-devel                             |  1 +
 .../0001-fix-compilation-with-musl-libc.patch | 43 +++++++++++++++++++
 srcpkgs/arb/template                          | 24 +++++++++++
 4 files changed, 69 insertions(+)
 create mode 120000 srcpkgs/arb-devel
 create mode 100644 srcpkgs/arb/patches/0001-fix-compilation-with-musl-libc.patch
 create mode 100644 srcpkgs/arb/template

diff --git a/common/shlibs b/common/shlibs
index bfd2ead4bcb9..43c81b9afab8 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4011,6 +4011,7 @@ libgtkdatabox.so.1 gtkdatabox3-1.0.0_1
 libgf2x.so.3 gf2x-1.3.0_1
 libntl.so.44 ntl-11.5.1_1
 libflint.so.16 flintlib-2.8.0_1
+libarb.so.2 arb-2.20.0_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
 libwayland-cursor++.so.0 libwaylandpp-0.2.8_1
 libwayland-egl++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/arb-devel b/srcpkgs/arb-devel
new file mode 120000
index 000000000000..456b9f00a86c
--- /dev/null
+++ b/srcpkgs/arb-devel
@@ -0,0 +1 @@
+arb
\ No newline at end of file
diff --git a/srcpkgs/arb/patches/0001-fix-compilation-with-musl-libc.patch b/srcpkgs/arb/patches/0001-fix-compilation-with-musl-libc.patch
new file mode 100644
index 000000000000..b6f4c5d86ee0
--- /dev/null
+++ b/srcpkgs/arb/patches/0001-fix-compilation-with-musl-libc.patch
@@ -0,0 +1,43 @@
+From 65a570aad78d30539cb2cc7facd30cc676334da0 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
+Date: Sat, 7 Aug 2021 00:25:49 -0300
+Subject: [PATCH] fix compilation with musl libc
+
+Reported upstream at https://github.com/fredrik-johansson/arb/pull/376
+
+---
+ acb_poly/powsum_series_naive_threaded.c | 2 +-
+ partitions/fmpz_fmpz.c                  | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/acb_poly/powsum_series_naive_threaded.c b/acb_poly/powsum_series_naive_threaded.c
+index b665c3cb..acf5f401 100644
+--- a/acb_poly/powsum_series_naive_threaded.c
++++ b/acb_poly/powsum_series_naive_threaded.c
+@@ -9,8 +9,8 @@
+     (at your option) any later version.  See <http://www.gnu.org/licenses/>.
+ */
+ 
+-#include <pthread.h>
+ #include "acb_poly.h"
++#include <pthread.h>
+ 
+ typedef struct
+ {
+diff --git a/partitions/fmpz_fmpz.c b/partitions/fmpz_fmpz.c
+index 3b63489d..f3913f6b 100644
+--- a/partitions/fmpz_fmpz.c
++++ b/partitions/fmpz_fmpz.c
+@@ -9,8 +9,8 @@
+     (at your option) any later version.  See <http://www.gnu.org/licenses/>.
+ */
+ 
+-#include <pthread.h>
+ #include "partitions.h"
++#include <pthread.h>
+ 
+ /* defined in flint*/
+ #define NUMBER_OF_SMALL_PARTITIONS 128
+-- 
+2.32.0
+
diff --git a/srcpkgs/arb/template b/srcpkgs/arb/template
new file mode 100644
index 000000000000..0b1f333b3909
--- /dev/null
+++ b/srcpkgs/arb/template
@@ -0,0 +1,24 @@
+# Template file for 'arb'
+pkgname=arb
+version=2.20.0
+revision=1
+build_style=configure
+configure_args="--prefix=/usr --with-gmp=/usr --with-mpfr=/usr --with-flint=/usr"
+makedepends="flintlib-devel"
+short_desc="C library for arbitrary-precision interval arithmetic"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="LGPL-2.1-or-later"
+homepage="https://arblib.org"
+distfiles="https://github.com/fredrik-johansson/arb/archive/${version}.tar.gz"
+checksum=d2f186b10590c622c11d1ca190c01c3da08bac9bc04e84cb591534b917faffe7
+
+arb-devel_package() {
+	depends="arb>=${version}_${revision}"
+	depends+=" ${makedepends}"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove usr/include
+		vmove usr/lib/*.a
+		vmove usr/lib/*.so
+	}
+}

From 79b992b5a972401a6a91e576ab001e5f09037a73 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 Jun 2020 14:50:01 -0300
Subject: [PATCH 5/5] New package: eclib-20210625

---
 common/shlibs          |  1 +
 srcpkgs/eclib-devel    |  1 +
 srcpkgs/eclib/template | 30 ++++++++++++++++++++++++++++++
 3 files changed, 32 insertions(+)
 create mode 120000 srcpkgs/eclib-devel
 create mode 100644 srcpkgs/eclib/template

diff --git a/common/shlibs b/common/shlibs
index 43c81b9afab8..6ea8387496c2 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4012,6 +4012,7 @@ libgf2x.so.3 gf2x-1.3.0_1
 libntl.so.44 ntl-11.5.1_1
 libflint.so.16 flintlib-2.8.0_1
 libarb.so.2 arb-2.20.0_1
+libec.so.8 eclib-20210625_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
 libwayland-cursor++.so.0 libwaylandpp-0.2.8_1
 libwayland-egl++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/eclib-devel b/srcpkgs/eclib-devel
new file mode 120000
index 000000000000..d29e610e9249
--- /dev/null
+++ b/srcpkgs/eclib-devel
@@ -0,0 +1 @@
+eclib
\ No newline at end of file
diff --git a/srcpkgs/eclib/template b/srcpkgs/eclib/template
new file mode 100644
index 000000000000..4f36a16287b5
--- /dev/null
+++ b/srcpkgs/eclib/template
@@ -0,0 +1,30 @@
+# Template file for 'eclib'
+pkgname=eclib
+version=20210625
+revision=1
+build_style=gnu-configure
+configure_args="--with-flint --with-boost"
+hostmakedepends="automake autoconf-archive libtool"
+makedepends="pari-devel ntl-devel flintlib-devel boost-devel"
+short_desc="Elliptic curve library, includes mwrank"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="GPL-2.0-or-later"
+homepage="https://github.com/JohnCremona/eclib"
+distfiles="https://github.com/JohnCremona/eclib/archive/refs/tags/${version}.tar.gz"
+checksum=00333fd36afd237c9e6e410c7ab98536ddcd7fdc430e6837fe293247b835c572
+
+pre_configure() {
+	autoreconf -fi
+}
+
+eclib-devel_package() {
+	depends="eclib>=${version}_${revision}"
+	depends+=" ntl-devel"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove usr/include
+		vmove usr/lib/*.a
+		vmove usr/lib/*.so
+		vmove usr/lib/pkgconfig
+	}
+}

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

* Re: [PR REVIEW] Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (42 preceding siblings ...)
  2021-08-08 23:22 ` [PR PATCH] [Updated] " tornaria
@ 2021-08-08 23:24 ` tornaria
  2021-08-08 23:25 ` tornaria
                   ` (25 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: tornaria @ 2021-08-08 23:24 UTC (permalink / raw)
  To: ml

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

New review comment by tornaria on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#discussion_r684844201

Comment:
- ntl has a custom configure perl script which runs binaries built for target.
- flintlib and arb should cross-compile fine once ntl is packaged


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

* Re: [PR REVIEW] Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (43 preceding siblings ...)
  2021-08-08 23:24 ` [PR REVIEW] " tornaria
@ 2021-08-08 23:25 ` tornaria
  2021-08-08 23:25 ` tornaria
                   ` (24 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: tornaria @ 2021-08-08 23:25 UTC (permalink / raw)
  To: ml

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

New review comment by tornaria on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#discussion_r684844201

Comment:
- ntl has a custom configure perl script which runs binaries built for target. I added a comment in the template.
- flintlib and arb should cross-compile fine once ntl is packaged


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

* Re: [PR REVIEW] Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (44 preceding siblings ...)
  2021-08-08 23:25 ` tornaria
@ 2021-08-08 23:25 ` tornaria
  2021-08-08 23:26 ` tornaria
                   ` (23 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: tornaria @ 2021-08-08 23:25 UTC (permalink / raw)
  To: ml

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

New review comment by tornaria on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#discussion_r684844290

Comment:
`autoreconf -fi` is ok so I changed to that.

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

* Re: [PR REVIEW] Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (45 preceding siblings ...)
  2021-08-08 23:25 ` tornaria
@ 2021-08-08 23:26 ` tornaria
  2021-08-08 23:30 ` [PR PATCH] [Updated] " tornaria
                   ` (22 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: tornaria @ 2021-08-08 23:26 UTC (permalink / raw)
  To: ml

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

New review comment by tornaria on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#discussion_r684844341

Comment:
made a comment in the `update` file itself, hope that's ok

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

* Re: [PR PATCH] [Updated] Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (46 preceding siblings ...)
  2021-08-08 23:26 ` tornaria
@ 2021-08-08 23:30 ` tornaria
  2021-08-08 23:30 ` [PR REVIEW] " tornaria
                   ` (21 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: tornaria @ 2021-08-08 23:30 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by tornaria against master on the void-packages repository

https://github.com/tornaria/void-packages math2
https://github.com/void-linux/void-packages/pull/30032

Math packages: gf2x, ntl, flintlib, arb, eclib
<!-- Mark items with [x] where applicable -->

#### General
- [x] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me

#### Notes
- This includes: `gf2x` (see also #29783), `ntl`, `flintlib`, `arb`, `eclib`.
- Everything is tested and check pass in x86_64, x86_64-musl, i686.

EDIT: split in smaller independent PR to ease review.

A patch file from https://github.com/void-linux/void-packages/pull/30032.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-math2-30032.patch --]
[-- Type: text/x-diff, Size: 17377 bytes --]

From 19c61ac367cb0a39d7a2e56d622a7fc18dec96eb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 29 Jan 2018 11:18:35 -0300
Subject: [PATCH 1/5] New package: gf2x-1.3.0

---
 common/options.description |  1 +
 common/shlibs              |  1 +
 srcpkgs/gf2x-devel         |  1 +
 srcpkgs/gf2x/template      | 35 +++++++++++++++++++++++++++++++++++
 srcpkgs/gf2x/update        |  1 +
 5 files changed, 39 insertions(+)
 create mode 120000 srcpkgs/gf2x-devel
 create mode 100644 srcpkgs/gf2x/template
 create mode 100644 srcpkgs/gf2x/update

diff --git a/common/options.description b/common/options.description
index 06360211a23f..46e24a140e52 100644
--- a/common/options.description
+++ b/common/options.description
@@ -49,6 +49,7 @@ desc_option_lz4="Enable support for LZ4 compression format"
 desc_option_lzo="Enable support for LZO compression format"
 desc_option_microhttpd="Enable support for microhttpd"
 desc_option_mpcdec="Enable support for the Musepack decoder"
+desc_option_native_build="Enable instruction subsets supported by the build computer"
 desc_option_notify="Enable support for desktop notifications (libnotify)"
 desc_option_nvenc="Enable support for NVENC codecs"
 desc_option_openblas="Enable support for OpenBLAS accelerated linear algebra"
diff --git a/common/shlibs b/common/shlibs
index 5affb5dc09fd..6ee93e48bfc9 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4008,6 +4008,7 @@ libsword-1.8.1.so libsword-1.8.1_6
 libpari-gmp.so.7 pari-2.13.0_1
 libtree-sitter.so.0 tree-sitter-0.19.0_1
 libgtkdatabox.so.1 gtkdatabox3-1.0.0_1
+libgf2x.so.3 gf2x-1.3.0_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
 libwayland-cursor++.so.0 libwaylandpp-0.2.8_1
 libwayland-egl++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/gf2x-devel b/srcpkgs/gf2x-devel
new file mode 120000
index 000000000000..4542295e8de7
--- /dev/null
+++ b/srcpkgs/gf2x-devel
@@ -0,0 +1 @@
+gf2x
\ No newline at end of file
diff --git a/srcpkgs/gf2x/template b/srcpkgs/gf2x/template
new file mode 100644
index 000000000000..918a9f2d0d5a
--- /dev/null
+++ b/srcpkgs/gf2x/template
@@ -0,0 +1,35 @@
+# Template file for 'gf2x'
+pkgname=gf2x
+version=1.3.0
+revision=1
+wrksrc=gf2x-gf2x-${version}
+build_style=gnu-configure
+hostmakedepends="automake libtool"
+short_desc="C/C++ library for fast arithmetic in GF(2)[x]"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="GPL-3.0-or-later"
+homepage="https://gitlab.inria.fr/gf2x/gf2x"
+distfiles="https://gitlab.inria.fr/gf2x/gf2x/-/archive/gf2x-${version}/gf2x-gf2x-${version}.tar.gz"
+checksum=11bcf98b620c60c2ee3b4460b02b7be741f14cfdc26b542f22c92950926575e0
+
+build_options="native_build"
+
+if [ -z "$build_option_native_build" ]; then
+	# this disables sse3, ssse3, sse41, pclmul
+	configure_args="--disable-sse3"
+fi
+
+pre_configure() {
+	autoreconf -fi
+}
+
+gf2x-devel_package() {
+	depends="${sourcepkg}>=${version}_${revision}"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove usr/include
+		vmove usr/lib/*.a
+		vmove usr/lib/*.so
+		vmove usr/lib/pkgconfig
+	}
+}
diff --git a/srcpkgs/gf2x/update b/srcpkgs/gf2x/update
new file mode 100644
index 000000000000..504503610161
--- /dev/null
+++ b/srcpkgs/gf2x/update
@@ -0,0 +1 @@
+pkgname=gf2x-gf2x

From 424c5b7e14b67d4a523ce738764b4d33d7bd50d7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 30 Jan 2018 11:02:38 -0300
Subject: [PATCH 2/5] New package: ntl-11.5.1

---
 common/shlibs        |  1 +
 srcpkgs/ntl-devel    |  1 +
 srcpkgs/ntl/template | 36 ++++++++++++++++++++++++++++++++++++
 srcpkgs/ntl/update   |  1 +
 4 files changed, 39 insertions(+)
 create mode 120000 srcpkgs/ntl-devel
 create mode 100644 srcpkgs/ntl/template
 create mode 100644 srcpkgs/ntl/update

diff --git a/common/shlibs b/common/shlibs
index 6ee93e48bfc9..a35e0d24a9c2 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4009,6 +4009,7 @@ libpari-gmp.so.7 pari-2.13.0_1
 libtree-sitter.so.0 tree-sitter-0.19.0_1
 libgtkdatabox.so.1 gtkdatabox3-1.0.0_1
 libgf2x.so.3 gf2x-1.3.0_1
+libntl.so.44 ntl-11.5.1_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
 libwayland-cursor++.so.0 libwaylandpp-0.2.8_1
 libwayland-egl++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/ntl-devel b/srcpkgs/ntl-devel
new file mode 120000
index 000000000000..fc0a39987329
--- /dev/null
+++ b/srcpkgs/ntl-devel
@@ -0,0 +1 @@
+ntl
\ No newline at end of file
diff --git a/srcpkgs/ntl/template b/srcpkgs/ntl/template
new file mode 100644
index 000000000000..9020c6b5ce68
--- /dev/null
+++ b/srcpkgs/ntl/template
@@ -0,0 +1,36 @@
+# Template file for 'ntl'
+pkgname=ntl
+version=11.5.1
+revision=1
+build_wrksrc="src"
+build_style=configure
+hostmakedepends="perl libtool"
+makedepends="gmp-devel gf2x-devel"
+short_desc="Library for doing Number Theory"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="LGPL-2.1-or-later"
+homepage="https://libntl.org"
+distfiles="https://libntl.org/ntl-${version}.tar.gz"
+checksum=210d06c31306cbc6eaf6814453c56c776d9d8e8df36d74eb306f6a523d1c6a8a
+nocross=yes # runs binaries built for target
+
+build_options="native_build"
+
+do_configure() {
+	# see http://www.shoup.net/ntl/doc/tour-unix.html
+	./configure CXX="$CXX" CXXFLAGS="$CXXFLAGS" LIBTOOL="libtool" \
+		PREFIX="/usr" SHARED="on" NTL_GF2X_LIB="on" \
+		NATIVE="$(vopt_if native_build 'on' 'off')"
+}
+
+ntl-devel_package() {
+	depends="${sourcepkg}>=${version}_${revision}"
+	depends+=" ${makedepends}"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove usr/include
+		vmove usr/lib/*.a
+		vmove usr/lib/*.so
+		vmove usr/share
+	}
+}
diff --git a/srcpkgs/ntl/update b/srcpkgs/ntl/update
new file mode 100644
index 000000000000..7ca2974b146f
--- /dev/null
+++ b/srcpkgs/ntl/update
@@ -0,0 +1 @@
+site="https://libntl.org/download.html"

From 251f7070b355dfac18a4641c7fc8bc321b8deed1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Fri, 2 Feb 2018 22:42:49 -0300
Subject: [PATCH 3/5] New package: flintlib-2.8.0

---
 common/shlibs                                 |  1 +
 srcpkgs/flintlib-devel                        |  1 +
 .../0001-fix-compilation-with-musl-libc.patch | 80 +++++++++++++++++++
 srcpkgs/flintlib/template                     | 25 ++++++
 srcpkgs/flintlib/update                       |  3 +
 5 files changed, 110 insertions(+)
 create mode 120000 srcpkgs/flintlib-devel
 create mode 100644 srcpkgs/flintlib/patches/0001-fix-compilation-with-musl-libc.patch
 create mode 100644 srcpkgs/flintlib/template
 create mode 100644 srcpkgs/flintlib/update

diff --git a/common/shlibs b/common/shlibs
index a35e0d24a9c2..bfd2ead4bcb9 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4010,6 +4010,7 @@ libtree-sitter.so.0 tree-sitter-0.19.0_1
 libgtkdatabox.so.1 gtkdatabox3-1.0.0_1
 libgf2x.so.3 gf2x-1.3.0_1
 libntl.so.44 ntl-11.5.1_1
+libflint.so.16 flintlib-2.8.0_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
 libwayland-cursor++.so.0 libwaylandpp-0.2.8_1
 libwayland-egl++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/flintlib-devel b/srcpkgs/flintlib-devel
new file mode 120000
index 000000000000..7c2633183069
--- /dev/null
+++ b/srcpkgs/flintlib-devel
@@ -0,0 +1 @@
+flintlib
\ No newline at end of file
diff --git a/srcpkgs/flintlib/patches/0001-fix-compilation-with-musl-libc.patch b/srcpkgs/flintlib/patches/0001-fix-compilation-with-musl-libc.patch
new file mode 100644
index 000000000000..646af0ce43d9
--- /dev/null
+++ b/srcpkgs/flintlib/patches/0001-fix-compilation-with-musl-libc.patch
@@ -0,0 +1,80 @@
+From 2a5b3f8bda5a50cb8a17db0c65fba489d1bf7c71 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
+Date: Fri, 6 Aug 2021 23:57:10 -0300
+Subject: [PATCH] fix compilation with musl libc
+
+Reported upstream at https://github.com/wbhart/flint2/pull/988
+
+---
+ fmpz.h                                              | 3 +++
+ fmpz_mod_poly_factor/factor_distinct_deg_threaded.c | 1 +
+ fmpz_poly/taylor_shift_divconquer.c                 | 1 +
+ fmpz_poly/taylor_shift_multi_mod_threaded.c         | 1 +
+ nmod_poly_factor/factor_distinct_deg_threaded.c     | 1 +
+ 5 files changed, 7 insertions(+)
+
+diff --git a/fmpz.h b/fmpz.h
+index bb9aa71c9..a091e082e 100644
+--- a/fmpz.h
++++ b/fmpz.h
+@@ -32,6 +32,9 @@
+ #include "fmpz-conversions.h"
+ 
+ #if FLINT_USES_PTHREAD
++#ifndef _GNU_SOURCE
++#define _GNU_SOURCE
++#endif
+ #include <pthread.h>
+ #endif
+ 
+diff --git a/fmpz_mod_poly_factor/factor_distinct_deg_threaded.c b/fmpz_mod_poly_factor/factor_distinct_deg_threaded.c
+index 7a0f8cd6d..48ae530e6 100644
+--- a/fmpz_mod_poly_factor/factor_distinct_deg_threaded.c
++++ b/fmpz_mod_poly_factor/factor_distinct_deg_threaded.c
+@@ -15,6 +15,7 @@
+ #define ulong ulongxx/* interferes with system includes */
+ 
+ #include <math.h>
++#define _GNU_SOURCE
+ #include <pthread.h>
+ 
+ #undef ulong
+diff --git a/fmpz_poly/taylor_shift_divconquer.c b/fmpz_poly/taylor_shift_divconquer.c
+index 9c1397f3e..608c64a96 100644
+--- a/fmpz_poly/taylor_shift_divconquer.c
++++ b/fmpz_poly/taylor_shift_divconquer.c
+@@ -11,6 +11,7 @@
+ */
+ 
+ #include <math.h>
++#define _GNU_SOURCE
+ #include <pthread.h>
+ #include <gmp.h>
+ #include "flint.h"
+diff --git a/fmpz_poly/taylor_shift_multi_mod_threaded.c b/fmpz_poly/taylor_shift_multi_mod_threaded.c
+index 87bbe251d..b54886655 100644
+--- a/fmpz_poly/taylor_shift_multi_mod_threaded.c
++++ b/fmpz_poly/taylor_shift_multi_mod_threaded.c
+@@ -10,6 +10,7 @@
+     (at your option) any later version.  See <https://www.gnu.org/licenses/>.
+ */
+ 
++#define _GNU_SOURCE
+ #include <pthread.h>
+ #include <gmp.h>
+ #include "flint.h"
+diff --git a/nmod_poly_factor/factor_distinct_deg_threaded.c b/nmod_poly_factor/factor_distinct_deg_threaded.c
+index 272dd871f..b43765fe4 100644
+--- a/nmod_poly_factor/factor_distinct_deg_threaded.c
++++ b/nmod_poly_factor/factor_distinct_deg_threaded.c
+@@ -15,6 +15,7 @@
+ #define ulong ulongxx/* interferes with system includes */
+ 
+ #include <math.h>
++#define _GNU_SOURCE
+ #include <pthread.h>
+ 
+ #undef ulong
+-- 
+2.32.0
+
diff --git a/srcpkgs/flintlib/template b/srcpkgs/flintlib/template
new file mode 100644
index 000000000000..f89cb0750c74
--- /dev/null
+++ b/srcpkgs/flintlib/template
@@ -0,0 +1,25 @@
+# Template file for 'flintlib'
+pkgname=flintlib
+version=2.8.0
+revision=1
+wrksrc="flint-${version}"
+build_style=configure
+configure_args="--prefix=/usr --with-gmp=/usr --with-mpfr=/usr --with-ntl=/usr"
+makedepends="mpfr-devel ntl-devel"
+short_desc="Fast Library for Number Theory"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="LGPL-2.1-or-later"
+homepage="https://flintlib.org"
+distfiles="https://flintlib.org/flint-${version}.tar.gz"
+checksum=584235cdc39d779d9920eaef16fe084f3c26ffeeea003a3fff64a20a0f33449e
+
+flintlib-devel_package() {
+	depends="${sourcepkg}>=${version}_${revision}"
+	depends+=" mpfr-devel"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove usr/include
+		vmove usr/lib/*.a
+		vmove usr/lib/*.so
+	}
+}
diff --git a/srcpkgs/flintlib/update b/srcpkgs/flintlib/update
new file mode 100644
index 000000000000..21d6ab4bae5b
--- /dev/null
+++ b/srcpkgs/flintlib/update
@@ -0,0 +1,3 @@
+# package was named 'flintlib' because of another package
+pkgname=flint
+site="https://flintlib.org/downloads.html"

From 1bbe8f47865d605e9b0fc0ec30b1810e4324e41a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 4 Feb 2018 01:00:19 -0300
Subject: [PATCH 4/5] New package: arb-2.20.0

---
 common/shlibs                                 |  1 +
 srcpkgs/arb-devel                             |  1 +
 .../0001-fix-compilation-with-musl-libc.patch | 43 +++++++++++++++++++
 srcpkgs/arb/template                          | 24 +++++++++++
 4 files changed, 69 insertions(+)
 create mode 120000 srcpkgs/arb-devel
 create mode 100644 srcpkgs/arb/patches/0001-fix-compilation-with-musl-libc.patch
 create mode 100644 srcpkgs/arb/template

diff --git a/common/shlibs b/common/shlibs
index bfd2ead4bcb9..43c81b9afab8 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4011,6 +4011,7 @@ libgtkdatabox.so.1 gtkdatabox3-1.0.0_1
 libgf2x.so.3 gf2x-1.3.0_1
 libntl.so.44 ntl-11.5.1_1
 libflint.so.16 flintlib-2.8.0_1
+libarb.so.2 arb-2.20.0_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
 libwayland-cursor++.so.0 libwaylandpp-0.2.8_1
 libwayland-egl++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/arb-devel b/srcpkgs/arb-devel
new file mode 120000
index 000000000000..456b9f00a86c
--- /dev/null
+++ b/srcpkgs/arb-devel
@@ -0,0 +1 @@
+arb
\ No newline at end of file
diff --git a/srcpkgs/arb/patches/0001-fix-compilation-with-musl-libc.patch b/srcpkgs/arb/patches/0001-fix-compilation-with-musl-libc.patch
new file mode 100644
index 000000000000..b6f4c5d86ee0
--- /dev/null
+++ b/srcpkgs/arb/patches/0001-fix-compilation-with-musl-libc.patch
@@ -0,0 +1,43 @@
+From 65a570aad78d30539cb2cc7facd30cc676334da0 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
+Date: Sat, 7 Aug 2021 00:25:49 -0300
+Subject: [PATCH] fix compilation with musl libc
+
+Reported upstream at https://github.com/fredrik-johansson/arb/pull/376
+
+---
+ acb_poly/powsum_series_naive_threaded.c | 2 +-
+ partitions/fmpz_fmpz.c                  | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/acb_poly/powsum_series_naive_threaded.c b/acb_poly/powsum_series_naive_threaded.c
+index b665c3cb..acf5f401 100644
+--- a/acb_poly/powsum_series_naive_threaded.c
++++ b/acb_poly/powsum_series_naive_threaded.c
+@@ -9,8 +9,8 @@
+     (at your option) any later version.  See <http://www.gnu.org/licenses/>.
+ */
+ 
+-#include <pthread.h>
+ #include "acb_poly.h"
++#include <pthread.h>
+ 
+ typedef struct
+ {
+diff --git a/partitions/fmpz_fmpz.c b/partitions/fmpz_fmpz.c
+index 3b63489d..f3913f6b 100644
+--- a/partitions/fmpz_fmpz.c
++++ b/partitions/fmpz_fmpz.c
+@@ -9,8 +9,8 @@
+     (at your option) any later version.  See <http://www.gnu.org/licenses/>.
+ */
+ 
+-#include <pthread.h>
+ #include "partitions.h"
++#include <pthread.h>
+ 
+ /* defined in flint*/
+ #define NUMBER_OF_SMALL_PARTITIONS 128
+-- 
+2.32.0
+
diff --git a/srcpkgs/arb/template b/srcpkgs/arb/template
new file mode 100644
index 000000000000..55d0681c4baf
--- /dev/null
+++ b/srcpkgs/arb/template
@@ -0,0 +1,24 @@
+# Template file for 'arb'
+pkgname=arb
+version=2.20.0
+revision=1
+build_style=configure
+configure_args="--prefix=/usr --with-gmp=/usr --with-mpfr=/usr --with-flint=/usr"
+makedepends="flintlib-devel"
+short_desc="C library for arbitrary-precision interval arithmetic"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="LGPL-2.1-or-later"
+homepage="https://arblib.org"
+distfiles="https://github.com/fredrik-johansson/arb/archive/${version}.tar.gz"
+checksum=d2f186b10590c622c11d1ca190c01c3da08bac9bc04e84cb591534b917faffe7
+
+arb-devel_package() {
+	depends="${sourcepkg}>=${version}_${revision}"
+	depends+=" ${makedepends}"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove usr/include
+		vmove usr/lib/*.a
+		vmove usr/lib/*.so
+	}
+}

From bcc0a55f50b70339ec99cffb549114abc8dbfb51 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 Jun 2020 14:50:01 -0300
Subject: [PATCH 5/5] New package: eclib-20210625

---
 common/shlibs          |  1 +
 srcpkgs/eclib-devel    |  1 +
 srcpkgs/eclib/template | 30 ++++++++++++++++++++++++++++++
 3 files changed, 32 insertions(+)
 create mode 120000 srcpkgs/eclib-devel
 create mode 100644 srcpkgs/eclib/template

diff --git a/common/shlibs b/common/shlibs
index 43c81b9afab8..6ea8387496c2 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4012,6 +4012,7 @@ libgf2x.so.3 gf2x-1.3.0_1
 libntl.so.44 ntl-11.5.1_1
 libflint.so.16 flintlib-2.8.0_1
 libarb.so.2 arb-2.20.0_1
+libec.so.8 eclib-20210625_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
 libwayland-cursor++.so.0 libwaylandpp-0.2.8_1
 libwayland-egl++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/eclib-devel b/srcpkgs/eclib-devel
new file mode 120000
index 000000000000..d29e610e9249
--- /dev/null
+++ b/srcpkgs/eclib-devel
@@ -0,0 +1 @@
+eclib
\ No newline at end of file
diff --git a/srcpkgs/eclib/template b/srcpkgs/eclib/template
new file mode 100644
index 000000000000..77270bf9166b
--- /dev/null
+++ b/srcpkgs/eclib/template
@@ -0,0 +1,30 @@
+# Template file for 'eclib'
+pkgname=eclib
+version=20210625
+revision=1
+build_style=gnu-configure
+configure_args="--with-flint --with-boost"
+hostmakedepends="automake autoconf-archive libtool"
+makedepends="pari-devel ntl-devel flintlib-devel boost-devel"
+short_desc="Elliptic curve library, includes mwrank"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="GPL-2.0-or-later"
+homepage="https://github.com/JohnCremona/eclib"
+distfiles="https://github.com/JohnCremona/eclib/archive/refs/tags/${version}.tar.gz"
+checksum=00333fd36afd237c9e6e410c7ab98536ddcd7fdc430e6837fe293247b835c572
+
+pre_configure() {
+	autoreconf -fi
+}
+
+eclib-devel_package() {
+	depends="${sourcepkg}>=${version}_${revision}"
+	depends+=" ntl-devel"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove usr/include
+		vmove usr/lib/*.a
+		vmove usr/lib/*.so
+		vmove usr/lib/pkgconfig
+	}
+}

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

* Re: [PR REVIEW] Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (47 preceding siblings ...)
  2021-08-08 23:30 ` [PR PATCH] [Updated] " tornaria
@ 2021-08-08 23:30 ` tornaria
  2021-08-08 23:33 ` tornaria
                   ` (20 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: tornaria @ 2021-08-08 23:30 UTC (permalink / raw)
  To: ml

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

New review comment by tornaria on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#discussion_r684844948

Comment:
done for all 5 templates

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

* Re: [PR REVIEW] Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (48 preceding siblings ...)
  2021-08-08 23:30 ` [PR REVIEW] " tornaria
@ 2021-08-08 23:33 ` tornaria
  2021-08-08 23:37 ` tornaria
                   ` (19 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: tornaria @ 2021-08-08 23:33 UTC (permalink / raw)
  To: ml

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

New review comment by tornaria on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#discussion_r684845209

Comment:
I changed site to be explicit and not use `${homepage}`, that's what seems to be done in most templates. I didn't see any notice in the template about syncing with `update`, but I think if the homepage changes for some reason and update-check can't find site anymore it will complain about "no version found" or something like that.

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

* Re: Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (49 preceding siblings ...)
  2021-08-08 23:33 ` tornaria
@ 2021-08-08 23:37 ` tornaria
  2021-08-09  2:33 ` [PR PATCH] [Updated] " tornaria
                   ` (18 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: tornaria @ 2021-08-08 23:37 UTC (permalink / raw)
  To: ml

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

New comment by tornaria on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#issuecomment-894874170

Comment:
Sorry for the double force-push. I realized a minute too late that I was missing a requested change.

I believe I have addressed all the suggestions.

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

* Re: [PR PATCH] [Updated] Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (50 preceding siblings ...)
  2021-08-08 23:37 ` tornaria
@ 2021-08-09  2:33 ` tornaria
  2021-08-09  2:40 ` tornaria
                   ` (17 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: tornaria @ 2021-08-09  2:33 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by tornaria against master on the void-packages repository

https://github.com/tornaria/void-packages math2
https://github.com/void-linux/void-packages/pull/30032

Math packages: gf2x, ntl, flintlib, arb, eclib
<!-- Mark items with [x] where applicable -->

#### General
- [x] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me

#### Notes
- This includes: `gf2x` (see also #29783), `ntl`, `flintlib`, `arb`, `eclib`.
- Everything is tested and check pass in x86_64, x86_64-musl, i686.

EDIT: split in smaller independent PR to ease review.

A patch file from https://github.com/void-linux/void-packages/pull/30032.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-math2-30032.patch --]
[-- Type: text/x-diff, Size: 12717 bytes --]

From 19c61ac367cb0a39d7a2e56d622a7fc18dec96eb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 29 Jan 2018 11:18:35 -0300
Subject: [PATCH 1/5] New package: gf2x-1.3.0

---
 common/options.description |  1 +
 common/shlibs              |  1 +
 srcpkgs/gf2x-devel         |  1 +
 srcpkgs/gf2x/template      | 35 +++++++++++++++++++++++++++++++++++
 srcpkgs/gf2x/update        |  1 +
 5 files changed, 39 insertions(+)
 create mode 120000 srcpkgs/gf2x-devel
 create mode 100644 srcpkgs/gf2x/template
 create mode 100644 srcpkgs/gf2x/update

diff --git a/common/options.description b/common/options.description
index 06360211a23f..46e24a140e52 100644
--- a/common/options.description
+++ b/common/options.description
@@ -49,6 +49,7 @@ desc_option_lz4="Enable support for LZ4 compression format"
 desc_option_lzo="Enable support for LZO compression format"
 desc_option_microhttpd="Enable support for microhttpd"
 desc_option_mpcdec="Enable support for the Musepack decoder"
+desc_option_native_build="Enable instruction subsets supported by the build computer"
 desc_option_notify="Enable support for desktop notifications (libnotify)"
 desc_option_nvenc="Enable support for NVENC codecs"
 desc_option_openblas="Enable support for OpenBLAS accelerated linear algebra"
diff --git a/common/shlibs b/common/shlibs
index 5affb5dc09fd..6ee93e48bfc9 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4008,6 +4008,7 @@ libsword-1.8.1.so libsword-1.8.1_6
 libpari-gmp.so.7 pari-2.13.0_1
 libtree-sitter.so.0 tree-sitter-0.19.0_1
 libgtkdatabox.so.1 gtkdatabox3-1.0.0_1
+libgf2x.so.3 gf2x-1.3.0_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
 libwayland-cursor++.so.0 libwaylandpp-0.2.8_1
 libwayland-egl++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/gf2x-devel b/srcpkgs/gf2x-devel
new file mode 120000
index 000000000000..4542295e8de7
--- /dev/null
+++ b/srcpkgs/gf2x-devel
@@ -0,0 +1 @@
+gf2x
\ No newline at end of file
diff --git a/srcpkgs/gf2x/template b/srcpkgs/gf2x/template
new file mode 100644
index 000000000000..918a9f2d0d5a
--- /dev/null
+++ b/srcpkgs/gf2x/template
@@ -0,0 +1,35 @@
+# Template file for 'gf2x'
+pkgname=gf2x
+version=1.3.0
+revision=1
+wrksrc=gf2x-gf2x-${version}
+build_style=gnu-configure
+hostmakedepends="automake libtool"
+short_desc="C/C++ library for fast arithmetic in GF(2)[x]"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="GPL-3.0-or-later"
+homepage="https://gitlab.inria.fr/gf2x/gf2x"
+distfiles="https://gitlab.inria.fr/gf2x/gf2x/-/archive/gf2x-${version}/gf2x-gf2x-${version}.tar.gz"
+checksum=11bcf98b620c60c2ee3b4460b02b7be741f14cfdc26b542f22c92950926575e0
+
+build_options="native_build"
+
+if [ -z "$build_option_native_build" ]; then
+	# this disables sse3, ssse3, sse41, pclmul
+	configure_args="--disable-sse3"
+fi
+
+pre_configure() {
+	autoreconf -fi
+}
+
+gf2x-devel_package() {
+	depends="${sourcepkg}>=${version}_${revision}"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove usr/include
+		vmove usr/lib/*.a
+		vmove usr/lib/*.so
+		vmove usr/lib/pkgconfig
+	}
+}
diff --git a/srcpkgs/gf2x/update b/srcpkgs/gf2x/update
new file mode 100644
index 000000000000..504503610161
--- /dev/null
+++ b/srcpkgs/gf2x/update
@@ -0,0 +1 @@
+pkgname=gf2x-gf2x

From 424c5b7e14b67d4a523ce738764b4d33d7bd50d7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 30 Jan 2018 11:02:38 -0300
Subject: [PATCH 2/5] New package: ntl-11.5.1

---
 common/shlibs        |  1 +
 srcpkgs/ntl-devel    |  1 +
 srcpkgs/ntl/template | 36 ++++++++++++++++++++++++++++++++++++
 srcpkgs/ntl/update   |  1 +
 4 files changed, 39 insertions(+)
 create mode 120000 srcpkgs/ntl-devel
 create mode 100644 srcpkgs/ntl/template
 create mode 100644 srcpkgs/ntl/update

diff --git a/common/shlibs b/common/shlibs
index 6ee93e48bfc9..a35e0d24a9c2 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4009,6 +4009,7 @@ libpari-gmp.so.7 pari-2.13.0_1
 libtree-sitter.so.0 tree-sitter-0.19.0_1
 libgtkdatabox.so.1 gtkdatabox3-1.0.0_1
 libgf2x.so.3 gf2x-1.3.0_1
+libntl.so.44 ntl-11.5.1_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
 libwayland-cursor++.so.0 libwaylandpp-0.2.8_1
 libwayland-egl++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/ntl-devel b/srcpkgs/ntl-devel
new file mode 120000
index 000000000000..fc0a39987329
--- /dev/null
+++ b/srcpkgs/ntl-devel
@@ -0,0 +1 @@
+ntl
\ No newline at end of file
diff --git a/srcpkgs/ntl/template b/srcpkgs/ntl/template
new file mode 100644
index 000000000000..9020c6b5ce68
--- /dev/null
+++ b/srcpkgs/ntl/template
@@ -0,0 +1,36 @@
+# Template file for 'ntl'
+pkgname=ntl
+version=11.5.1
+revision=1
+build_wrksrc="src"
+build_style=configure
+hostmakedepends="perl libtool"
+makedepends="gmp-devel gf2x-devel"
+short_desc="Library for doing Number Theory"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="LGPL-2.1-or-later"
+homepage="https://libntl.org"
+distfiles="https://libntl.org/ntl-${version}.tar.gz"
+checksum=210d06c31306cbc6eaf6814453c56c776d9d8e8df36d74eb306f6a523d1c6a8a
+nocross=yes # runs binaries built for target
+
+build_options="native_build"
+
+do_configure() {
+	# see http://www.shoup.net/ntl/doc/tour-unix.html
+	./configure CXX="$CXX" CXXFLAGS="$CXXFLAGS" LIBTOOL="libtool" \
+		PREFIX="/usr" SHARED="on" NTL_GF2X_LIB="on" \
+		NATIVE="$(vopt_if native_build 'on' 'off')"
+}
+
+ntl-devel_package() {
+	depends="${sourcepkg}>=${version}_${revision}"
+	depends+=" ${makedepends}"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove usr/include
+		vmove usr/lib/*.a
+		vmove usr/lib/*.so
+		vmove usr/share
+	}
+}
diff --git a/srcpkgs/ntl/update b/srcpkgs/ntl/update
new file mode 100644
index 000000000000..7ca2974b146f
--- /dev/null
+++ b/srcpkgs/ntl/update
@@ -0,0 +1 @@
+site="https://libntl.org/download.html"

From cbb95e6008d5912758ea3d2039e946cf383a31c8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Fri, 2 Feb 2018 22:42:49 -0300
Subject: [PATCH 3/5] New package: flintlib-2.8.0

---
 common/shlibs             |  1 +
 srcpkgs/flintlib-devel    |  1 +
 srcpkgs/flintlib/template | 27 +++++++++++++++++++++++++++
 srcpkgs/flintlib/update   |  3 +++
 4 files changed, 32 insertions(+)
 create mode 120000 srcpkgs/flintlib-devel
 create mode 100644 srcpkgs/flintlib/template
 create mode 100644 srcpkgs/flintlib/update

diff --git a/common/shlibs b/common/shlibs
index a35e0d24a9c2..bfd2ead4bcb9 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4010,6 +4010,7 @@ libtree-sitter.so.0 tree-sitter-0.19.0_1
 libgtkdatabox.so.1 gtkdatabox3-1.0.0_1
 libgf2x.so.3 gf2x-1.3.0_1
 libntl.so.44 ntl-11.5.1_1
+libflint.so.16 flintlib-2.8.0_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
 libwayland-cursor++.so.0 libwaylandpp-0.2.8_1
 libwayland-egl++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/flintlib-devel b/srcpkgs/flintlib-devel
new file mode 120000
index 000000000000..7c2633183069
--- /dev/null
+++ b/srcpkgs/flintlib-devel
@@ -0,0 +1 @@
+flintlib
\ No newline at end of file
diff --git a/srcpkgs/flintlib/template b/srcpkgs/flintlib/template
new file mode 100644
index 000000000000..f661fb35f10b
--- /dev/null
+++ b/srcpkgs/flintlib/template
@@ -0,0 +1,27 @@
+# Template file for 'flintlib'
+pkgname=flintlib
+version=2.8.0
+revision=1
+wrksrc="flint-${version}"
+build_style=configure
+configure_args="--prefix=/usr --with-gmp=/usr --with-mpfr=/usr --with-ntl=/usr"
+makedepends="mpfr-devel ntl-devel"
+short_desc="Fast Library for Number Theory"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="LGPL-2.1-or-later"
+homepage="https://flintlib.org"
+distfiles="https://flintlib.org/flint-${version}.tar.gz"
+checksum=584235cdc39d779d9920eaef16fe084f3c26ffeeea003a3fff64a20a0f33449e
+
+CFLAGS="-D_GNU_SOURCE" # needed for cpu_set_t
+
+flintlib-devel_package() {
+	depends="${sourcepkg}>=${version}_${revision}"
+	depends+=" mpfr-devel"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove usr/include
+		vmove usr/lib/*.a
+		vmove usr/lib/*.so
+	}
+}
diff --git a/srcpkgs/flintlib/update b/srcpkgs/flintlib/update
new file mode 100644
index 000000000000..21d6ab4bae5b
--- /dev/null
+++ b/srcpkgs/flintlib/update
@@ -0,0 +1,3 @@
+# package was named 'flintlib' because of another package
+pkgname=flint
+site="https://flintlib.org/downloads.html"

From 3aa220de329b09224e93ad57100be8c39081fd30 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 4 Feb 2018 01:00:19 -0300
Subject: [PATCH 4/5] New package: arb-2.20.0

---
 common/shlibs        |  1 +
 srcpkgs/arb-devel    |  1 +
 srcpkgs/arb/template | 29 +++++++++++++++++++++++++++++
 3 files changed, 31 insertions(+)
 create mode 120000 srcpkgs/arb-devel
 create mode 100644 srcpkgs/arb/template

diff --git a/common/shlibs b/common/shlibs
index bfd2ead4bcb9..43c81b9afab8 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4011,6 +4011,7 @@ libgtkdatabox.so.1 gtkdatabox3-1.0.0_1
 libgf2x.so.3 gf2x-1.3.0_1
 libntl.so.44 ntl-11.5.1_1
 libflint.so.16 flintlib-2.8.0_1
+libarb.so.2 arb-2.20.0_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
 libwayland-cursor++.so.0 libwaylandpp-0.2.8_1
 libwayland-egl++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/arb-devel b/srcpkgs/arb-devel
new file mode 120000
index 000000000000..456b9f00a86c
--- /dev/null
+++ b/srcpkgs/arb-devel
@@ -0,0 +1 @@
+arb
\ No newline at end of file
diff --git a/srcpkgs/arb/template b/srcpkgs/arb/template
new file mode 100644
index 000000000000..fcef3bd1662c
--- /dev/null
+++ b/srcpkgs/arb/template
@@ -0,0 +1,29 @@
+# Template file for 'arb'
+pkgname=arb
+version=2.20.0
+revision=1
+build_style=configure
+configure_args="--prefix=/usr --with-gmp=/usr --with-mpfr=/usr --with-flint=/usr"
+makedepends="flintlib-devel"
+short_desc="C library for arbitrary-precision interval arithmetic"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="LGPL-2.1-or-later"
+homepage="https://arblib.org"
+distfiles="https://github.com/fredrik-johansson/arb/archive/${version}.tar.gz"
+checksum=d2f186b10590c622c11d1ca190c01c3da08bac9bc04e84cb591534b917faffe7
+
+if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
+	# on glibc this would give a conflict with function fdiv()
+	CFLAGS="-D_GNU_SOURCE" # needed for cpu_set_t
+fi
+
+arb-devel_package() {
+	depends="${sourcepkg}>=${version}_${revision}"
+	depends+=" ${makedepends}"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove usr/include
+		vmove usr/lib/*.a
+		vmove usr/lib/*.so
+	}
+}

From 74594d741a5dc98a18c07ecbf5742b82f5d47939 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 Jun 2020 14:50:01 -0300
Subject: [PATCH 5/5] New package: eclib-20210625

---
 common/shlibs          |  1 +
 srcpkgs/eclib-devel    |  1 +
 srcpkgs/eclib/template | 30 ++++++++++++++++++++++++++++++
 3 files changed, 32 insertions(+)
 create mode 120000 srcpkgs/eclib-devel
 create mode 100644 srcpkgs/eclib/template

diff --git a/common/shlibs b/common/shlibs
index 43c81b9afab8..6ea8387496c2 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4012,6 +4012,7 @@ libgf2x.so.3 gf2x-1.3.0_1
 libntl.so.44 ntl-11.5.1_1
 libflint.so.16 flintlib-2.8.0_1
 libarb.so.2 arb-2.20.0_1
+libec.so.8 eclib-20210625_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
 libwayland-cursor++.so.0 libwaylandpp-0.2.8_1
 libwayland-egl++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/eclib-devel b/srcpkgs/eclib-devel
new file mode 120000
index 000000000000..d29e610e9249
--- /dev/null
+++ b/srcpkgs/eclib-devel
@@ -0,0 +1 @@
+eclib
\ No newline at end of file
diff --git a/srcpkgs/eclib/template b/srcpkgs/eclib/template
new file mode 100644
index 000000000000..77270bf9166b
--- /dev/null
+++ b/srcpkgs/eclib/template
@@ -0,0 +1,30 @@
+# Template file for 'eclib'
+pkgname=eclib
+version=20210625
+revision=1
+build_style=gnu-configure
+configure_args="--with-flint --with-boost"
+hostmakedepends="automake autoconf-archive libtool"
+makedepends="pari-devel ntl-devel flintlib-devel boost-devel"
+short_desc="Elliptic curve library, includes mwrank"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="GPL-2.0-or-later"
+homepage="https://github.com/JohnCremona/eclib"
+distfiles="https://github.com/JohnCremona/eclib/archive/refs/tags/${version}.tar.gz"
+checksum=00333fd36afd237c9e6e410c7ab98536ddcd7fdc430e6837fe293247b835c572
+
+pre_configure() {
+	autoreconf -fi
+}
+
+eclib-devel_package() {
+	depends="${sourcepkg}>=${version}_${revision}"
+	depends+=" ntl-devel"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove usr/include
+		vmove usr/lib/*.a
+		vmove usr/lib/*.so
+		vmove usr/lib/pkgconfig
+	}
+}

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

* Re: Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (51 preceding siblings ...)
  2021-08-09  2:33 ` [PR PATCH] [Updated] " tornaria
@ 2021-08-09  2:40 ` tornaria
  2021-08-10 18:38 ` [PR REVIEW] " ericonr
                   ` (16 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: tornaria @ 2021-08-09  2:40 UTC (permalink / raw)
  To: ml

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

New comment by tornaria on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#issuecomment-894916605

Comment:
The "fix" for the `_GNU_SOURCE` issue was bad, which caused the musl build to fail check.

Based on this and the comments in https://github.com/wbhart/flint2/pull/988, I removed all patches and reverted back to using `CFLAGS=-D_GNU_SOURCE` in the template, with the care that for `arb` it has to be conditional to avoid a conflict.

Now all tests should pass... :crossed_fingers:

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

* Re: [PR REVIEW] Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (53 preceding siblings ...)
  2021-08-10 18:38 ` [PR REVIEW] " ericonr
@ 2021-08-10 18:38 ` ericonr
  2021-08-10 18:38 ` ericonr
                   ` (14 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: ericonr @ 2021-08-10 18:38 UTC (permalink / raw)
  To: ml

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

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#discussion_r686227320

Comment:
Same

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

* Re: [PR REVIEW] Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (52 preceding siblings ...)
  2021-08-09  2:40 ` tornaria
@ 2021-08-10 18:38 ` ericonr
  2021-08-10 18:38 ` ericonr
                   ` (15 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: ericonr @ 2021-08-10 18:38 UTC (permalink / raw)
  To: ml

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

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#discussion_r686226967

Comment:
same

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

* Re: [PR REVIEW] Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (54 preceding siblings ...)
  2021-08-10 18:38 ` ericonr
@ 2021-08-10 18:38 ` ericonr
  2021-08-10 18:38 ` ericonr
                   ` (13 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: ericonr @ 2021-08-10 18:38 UTC (permalink / raw)
  To: ml

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

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#discussion_r686227711

Comment:
Same

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

* Re: [PR REVIEW] Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (56 preceding siblings ...)
  2021-08-10 18:38 ` ericonr
@ 2021-08-10 18:38 ` ericonr
  2021-08-10 18:38 ` ericonr
                   ` (11 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: ericonr @ 2021-08-10 18:38 UTC (permalink / raw)
  To: ml

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

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#discussion_r686228019

Comment:
Make this  a single line

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

* Re: [PR REVIEW] Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (57 preceding siblings ...)
  2021-08-10 18:38 ` ericonr
@ 2021-08-10 18:38 ` ericonr
  2021-08-10 18:38 ` ericonr
                   ` (10 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: ericonr @ 2021-08-10 18:38 UTC (permalink / raw)
  To: ml

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

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#discussion_r686226587

Comment:
`vmove "usr/lib/*.a"`

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

* Re: [PR REVIEW] Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (55 preceding siblings ...)
  2021-08-10 18:38 ` ericonr
@ 2021-08-10 18:38 ` ericonr
  2021-08-10 18:38 ` ericonr
                   ` (12 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: ericonr @ 2021-08-10 18:38 UTC (permalink / raw)
  To: ml

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

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#discussion_r686228405

Comment:
Same here

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

* Re: [PR REVIEW] Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (58 preceding siblings ...)
  2021-08-10 18:38 ` ericonr
@ 2021-08-10 18:38 ` ericonr
  2021-08-10 20:39 ` [PR PATCH] [Updated] " tornaria
                   ` (9 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: ericonr @ 2021-08-10 18:38 UTC (permalink / raw)
  To: ml

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

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#discussion_r686228143

Comment:
Same here

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

* Re: [PR PATCH] [Updated] Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (59 preceding siblings ...)
  2021-08-10 18:38 ` ericonr
@ 2021-08-10 20:39 ` tornaria
  2021-08-10 20:46 ` tornaria
                   ` (8 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: tornaria @ 2021-08-10 20:39 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by tornaria against master on the void-packages repository

https://github.com/tornaria/void-packages math2
https://github.com/void-linux/void-packages/pull/30032

Math packages: gf2x, ntl, flintlib, arb, eclib
<!-- Mark items with [x] where applicable -->

#### General
- [x] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me

#### Notes
- This includes: `gf2x` (see also #29783), `ntl`, `flintlib`, `arb`, `eclib`.
- Everything is tested and check pass in x86_64, x86_64-musl, i686.

EDIT: split in smaller independent PR to ease review.

A patch file from https://github.com/void-linux/void-packages/pull/30032.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-math2-30032.patch --]
[-- Type: text/x-diff, Size: 12737 bytes --]

From 2e9bc58a10c0b45976d3cc7d88aa69743913501a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 29 Jan 2018 11:18:35 -0300
Subject: [PATCH 1/5] New package: gf2x-1.3.0

---
 common/options.description |  1 +
 common/shlibs              |  1 +
 srcpkgs/gf2x-devel         |  1 +
 srcpkgs/gf2x/template      | 35 +++++++++++++++++++++++++++++++++++
 srcpkgs/gf2x/update        |  1 +
 5 files changed, 39 insertions(+)
 create mode 120000 srcpkgs/gf2x-devel
 create mode 100644 srcpkgs/gf2x/template
 create mode 100644 srcpkgs/gf2x/update

diff --git a/common/options.description b/common/options.description
index 06360211a23f..46e24a140e52 100644
--- a/common/options.description
+++ b/common/options.description
@@ -49,6 +49,7 @@ desc_option_lz4="Enable support for LZ4 compression format"
 desc_option_lzo="Enable support for LZO compression format"
 desc_option_microhttpd="Enable support for microhttpd"
 desc_option_mpcdec="Enable support for the Musepack decoder"
+desc_option_native_build="Enable instruction subsets supported by the build computer"
 desc_option_notify="Enable support for desktop notifications (libnotify)"
 desc_option_nvenc="Enable support for NVENC codecs"
 desc_option_openblas="Enable support for OpenBLAS accelerated linear algebra"
diff --git a/common/shlibs b/common/shlibs
index 278d2456072f..57f5ca62c4c6 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3983,6 +3983,7 @@ libsword-1.8.1.so libsword-1.8.1_6
 libpari-gmp.so.7 pari-2.13.0_1
 libtree-sitter.so.0 tree-sitter-0.19.0_1
 libgtkdatabox.so.1 gtkdatabox3-1.0.0_1
+libgf2x.so.3 gf2x-1.3.0_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
 libwayland-cursor++.so.0 libwaylandpp-0.2.8_1
 libwayland-egl++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/gf2x-devel b/srcpkgs/gf2x-devel
new file mode 120000
index 000000000000..4542295e8de7
--- /dev/null
+++ b/srcpkgs/gf2x-devel
@@ -0,0 +1 @@
+gf2x
\ No newline at end of file
diff --git a/srcpkgs/gf2x/template b/srcpkgs/gf2x/template
new file mode 100644
index 000000000000..b056ac4f87f7
--- /dev/null
+++ b/srcpkgs/gf2x/template
@@ -0,0 +1,35 @@
+# Template file for 'gf2x'
+pkgname=gf2x
+version=1.3.0
+revision=1
+wrksrc=gf2x-gf2x-${version}
+build_style=gnu-configure
+hostmakedepends="automake libtool"
+short_desc="C/C++ library for fast arithmetic in GF(2)[x]"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="GPL-3.0-or-later"
+homepage="https://gitlab.inria.fr/gf2x/gf2x"
+distfiles="https://gitlab.inria.fr/gf2x/gf2x/-/archive/gf2x-${version}/gf2x-gf2x-${version}.tar.gz"
+checksum=11bcf98b620c60c2ee3b4460b02b7be741f14cfdc26b542f22c92950926575e0
+
+build_options="native_build"
+
+if [ -z "$build_option_native_build" ]; then
+	# this disables sse3, ssse3, sse41, pclmul
+	configure_args="--disable-sse3"
+fi
+
+pre_configure() {
+	autoreconf -fi
+}
+
+gf2x-devel_package() {
+	depends="${sourcepkg}>=${version}_${revision}"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove usr/include
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+		vmove usr/lib/pkgconfig
+	}
+}
diff --git a/srcpkgs/gf2x/update b/srcpkgs/gf2x/update
new file mode 100644
index 000000000000..504503610161
--- /dev/null
+++ b/srcpkgs/gf2x/update
@@ -0,0 +1 @@
+pkgname=gf2x-gf2x

From 4a74efaccd81455f50905b91d30a7e9556cc8534 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 30 Jan 2018 11:02:38 -0300
Subject: [PATCH 2/5] New package: ntl-11.5.1

---
 common/shlibs        |  1 +
 srcpkgs/ntl-devel    |  1 +
 srcpkgs/ntl/template | 36 ++++++++++++++++++++++++++++++++++++
 srcpkgs/ntl/update   |  1 +
 4 files changed, 39 insertions(+)
 create mode 120000 srcpkgs/ntl-devel
 create mode 100644 srcpkgs/ntl/template
 create mode 100644 srcpkgs/ntl/update

diff --git a/common/shlibs b/common/shlibs
index 57f5ca62c4c6..70534cc413b2 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3984,6 +3984,7 @@ libpari-gmp.so.7 pari-2.13.0_1
 libtree-sitter.so.0 tree-sitter-0.19.0_1
 libgtkdatabox.so.1 gtkdatabox3-1.0.0_1
 libgf2x.so.3 gf2x-1.3.0_1
+libntl.so.44 ntl-11.5.1_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
 libwayland-cursor++.so.0 libwaylandpp-0.2.8_1
 libwayland-egl++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/ntl-devel b/srcpkgs/ntl-devel
new file mode 120000
index 000000000000..fc0a39987329
--- /dev/null
+++ b/srcpkgs/ntl-devel
@@ -0,0 +1 @@
+ntl
\ No newline at end of file
diff --git a/srcpkgs/ntl/template b/srcpkgs/ntl/template
new file mode 100644
index 000000000000..b778ba27a3b7
--- /dev/null
+++ b/srcpkgs/ntl/template
@@ -0,0 +1,36 @@
+# Template file for 'ntl'
+pkgname=ntl
+version=11.5.1
+revision=1
+build_wrksrc="src"
+build_style=configure
+hostmakedepends="perl libtool"
+makedepends="gmp-devel gf2x-devel"
+short_desc="Library for doing Number Theory"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="LGPL-2.1-or-later"
+homepage="https://libntl.org"
+distfiles="https://libntl.org/ntl-${version}.tar.gz"
+checksum=210d06c31306cbc6eaf6814453c56c776d9d8e8df36d74eb306f6a523d1c6a8a
+nocross=yes # runs binaries built for target
+
+build_options="native_build"
+
+do_configure() {
+	# see http://www.shoup.net/ntl/doc/tour-unix.html
+	./configure CXX="$CXX" CXXFLAGS="$CXXFLAGS" LIBTOOL="libtool" \
+		PREFIX="/usr" SHARED="on" NTL_GF2X_LIB="on" \
+		NATIVE="$(vopt_if native_build 'on' 'off')"
+}
+
+ntl-devel_package() {
+	depends="${sourcepkg}>=${version}_${revision}"
+	depends+=" ${makedepends}"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove usr/include
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+		vmove usr/share
+	}
+}
diff --git a/srcpkgs/ntl/update b/srcpkgs/ntl/update
new file mode 100644
index 000000000000..7ca2974b146f
--- /dev/null
+++ b/srcpkgs/ntl/update
@@ -0,0 +1 @@
+site="https://libntl.org/download.html"

From 3f756a78111d65cde35754270ea6e81bb9547381 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Fri, 2 Feb 2018 22:42:49 -0300
Subject: [PATCH 3/5] New package: flintlib-2.8.0

---
 common/shlibs             |  1 +
 srcpkgs/flintlib-devel    |  1 +
 srcpkgs/flintlib/template | 27 +++++++++++++++++++++++++++
 srcpkgs/flintlib/update   |  3 +++
 4 files changed, 32 insertions(+)
 create mode 120000 srcpkgs/flintlib-devel
 create mode 100644 srcpkgs/flintlib/template
 create mode 100644 srcpkgs/flintlib/update

diff --git a/common/shlibs b/common/shlibs
index 70534cc413b2..ce170cbdeaa8 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3985,6 +3985,7 @@ libtree-sitter.so.0 tree-sitter-0.19.0_1
 libgtkdatabox.so.1 gtkdatabox3-1.0.0_1
 libgf2x.so.3 gf2x-1.3.0_1
 libntl.so.44 ntl-11.5.1_1
+libflint.so.16 flintlib-2.8.0_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
 libwayland-cursor++.so.0 libwaylandpp-0.2.8_1
 libwayland-egl++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/flintlib-devel b/srcpkgs/flintlib-devel
new file mode 120000
index 000000000000..7c2633183069
--- /dev/null
+++ b/srcpkgs/flintlib-devel
@@ -0,0 +1 @@
+flintlib
\ No newline at end of file
diff --git a/srcpkgs/flintlib/template b/srcpkgs/flintlib/template
new file mode 100644
index 000000000000..6552234c7f8f
--- /dev/null
+++ b/srcpkgs/flintlib/template
@@ -0,0 +1,27 @@
+# Template file for 'flintlib'
+pkgname=flintlib
+version=2.8.0
+revision=1
+wrksrc="flint-${version}"
+build_style=configure
+configure_args="--prefix=/usr --with-gmp=/usr --with-mpfr=/usr --with-ntl=/usr"
+makedepends="mpfr-devel ntl-devel"
+short_desc="Fast Library for Number Theory"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="LGPL-2.1-or-later"
+homepage="https://flintlib.org"
+distfiles="https://flintlib.org/flint-${version}.tar.gz"
+checksum=584235cdc39d779d9920eaef16fe084f3c26ffeeea003a3fff64a20a0f33449e
+
+CFLAGS="-D_GNU_SOURCE" # needed for cpu_set_t
+
+flintlib-devel_package() {
+	depends="${sourcepkg}>=${version}_${revision}"
+	depends+=" mpfr-devel"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove usr/include
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+	}
+}
diff --git a/srcpkgs/flintlib/update b/srcpkgs/flintlib/update
new file mode 100644
index 000000000000..21d6ab4bae5b
--- /dev/null
+++ b/srcpkgs/flintlib/update
@@ -0,0 +1,3 @@
+# package was named 'flintlib' because of another package
+pkgname=flint
+site="https://flintlib.org/downloads.html"

From b5da78696f56f81d0a6c2ee304ccf337082c6513 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 4 Feb 2018 01:00:19 -0300
Subject: [PATCH 4/5] New package: arb-2.20.0

---
 common/shlibs        |  1 +
 srcpkgs/arb-devel    |  1 +
 srcpkgs/arb/template | 29 +++++++++++++++++++++++++++++
 3 files changed, 31 insertions(+)
 create mode 120000 srcpkgs/arb-devel
 create mode 100644 srcpkgs/arb/template

diff --git a/common/shlibs b/common/shlibs
index ce170cbdeaa8..0b0e1fcb59ab 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3986,6 +3986,7 @@ libgtkdatabox.so.1 gtkdatabox3-1.0.0_1
 libgf2x.so.3 gf2x-1.3.0_1
 libntl.so.44 ntl-11.5.1_1
 libflint.so.16 flintlib-2.8.0_1
+libarb.so.2 arb-2.20.0_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
 libwayland-cursor++.so.0 libwaylandpp-0.2.8_1
 libwayland-egl++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/arb-devel b/srcpkgs/arb-devel
new file mode 120000
index 000000000000..456b9f00a86c
--- /dev/null
+++ b/srcpkgs/arb-devel
@@ -0,0 +1 @@
+arb
\ No newline at end of file
diff --git a/srcpkgs/arb/template b/srcpkgs/arb/template
new file mode 100644
index 000000000000..9a390cf4a84b
--- /dev/null
+++ b/srcpkgs/arb/template
@@ -0,0 +1,29 @@
+# Template file for 'arb'
+pkgname=arb
+version=2.20.0
+revision=1
+build_style=configure
+configure_args="--prefix=/usr --with-gmp=/usr --with-mpfr=/usr --with-flint=/usr"
+makedepends="flintlib-devel"
+short_desc="C library for arbitrary-precision interval arithmetic"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="LGPL-2.1-or-later"
+homepage="https://arblib.org"
+distfiles="https://github.com/fredrik-johansson/arb/archive/${version}.tar.gz"
+checksum=d2f186b10590c622c11d1ca190c01c3da08bac9bc04e84cb591534b917faffe7
+
+if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
+	# on glibc this would give a conflict with function fdiv()
+	CFLAGS="-D_GNU_SOURCE" # needed for cpu_set_t
+fi
+
+arb-devel_package() {
+	depends="${sourcepkg}>=${version}_${revision}"
+	depends+=" ${makedepends}"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove usr/include
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+	}
+}

From 02f6f569a12e7bf8012cf61aa430f4cad0ae0bd6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 Jun 2020 14:50:01 -0300
Subject: [PATCH 5/5] New package: eclib-20210625

---
 common/shlibs          |  1 +
 srcpkgs/eclib-devel    |  1 +
 srcpkgs/eclib/template | 30 ++++++++++++++++++++++++++++++
 3 files changed, 32 insertions(+)
 create mode 120000 srcpkgs/eclib-devel
 create mode 100644 srcpkgs/eclib/template

diff --git a/common/shlibs b/common/shlibs
index 0b0e1fcb59ab..edfc82fbed0b 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3987,6 +3987,7 @@ libgf2x.so.3 gf2x-1.3.0_1
 libntl.so.44 ntl-11.5.1_1
 libflint.so.16 flintlib-2.8.0_1
 libarb.so.2 arb-2.20.0_1
+libec.so.8 eclib-20210625_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
 libwayland-cursor++.so.0 libwaylandpp-0.2.8_1
 libwayland-egl++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/eclib-devel b/srcpkgs/eclib-devel
new file mode 120000
index 000000000000..d29e610e9249
--- /dev/null
+++ b/srcpkgs/eclib-devel
@@ -0,0 +1 @@
+eclib
\ No newline at end of file
diff --git a/srcpkgs/eclib/template b/srcpkgs/eclib/template
new file mode 100644
index 000000000000..935e9c181d2d
--- /dev/null
+++ b/srcpkgs/eclib/template
@@ -0,0 +1,30 @@
+# Template file for 'eclib'
+pkgname=eclib
+version=20210625
+revision=1
+build_style=gnu-configure
+configure_args="--with-flint --with-boost"
+hostmakedepends="automake autoconf-archive libtool"
+makedepends="pari-devel ntl-devel flintlib-devel boost-devel"
+short_desc="Elliptic curve library, includes mwrank"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="GPL-2.0-or-later"
+homepage="https://github.com/JohnCremona/eclib"
+distfiles="https://github.com/JohnCremona/eclib/archive/refs/tags/${version}.tar.gz"
+checksum=00333fd36afd237c9e6e410c7ab98536ddcd7fdc430e6837fe293247b835c572
+
+pre_configure() {
+	autoreconf -fi
+}
+
+eclib-devel_package() {
+	depends="${sourcepkg}>=${version}_${revision}"
+	depends+=" ntl-devel"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove usr/include
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+		vmove usr/lib/pkgconfig
+	}
+}

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

* Re: [PR PATCH] [Updated] Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (60 preceding siblings ...)
  2021-08-10 20:39 ` [PR PATCH] [Updated] " tornaria
@ 2021-08-10 20:46 ` tornaria
  2021-08-10 20:48 ` tornaria
                   ` (7 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: tornaria @ 2021-08-10 20:46 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by tornaria against master on the void-packages repository

https://github.com/tornaria/void-packages math2
https://github.com/void-linux/void-packages/pull/30032

Math packages: gf2x, ntl, flintlib, arb, eclib
<!-- Mark items with [x] where applicable -->

#### General
- [x] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me

#### Notes
- This includes: `gf2x` (see also #29783), `ntl`, `flintlib`, `arb`, `eclib`.
- Everything is tested and check pass in x86_64, x86_64-musl, i686.

EDIT: split in smaller independent PR to ease review.

A patch file from https://github.com/void-linux/void-packages/pull/30032.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-math2-30032.patch --]
[-- Type: text/x-diff, Size: 12677 bytes --]

From 2e9bc58a10c0b45976d3cc7d88aa69743913501a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 29 Jan 2018 11:18:35 -0300
Subject: [PATCH 1/5] New package: gf2x-1.3.0

---
 common/options.description |  1 +
 common/shlibs              |  1 +
 srcpkgs/gf2x-devel         |  1 +
 srcpkgs/gf2x/template      | 35 +++++++++++++++++++++++++++++++++++
 srcpkgs/gf2x/update        |  1 +
 5 files changed, 39 insertions(+)
 create mode 120000 srcpkgs/gf2x-devel
 create mode 100644 srcpkgs/gf2x/template
 create mode 100644 srcpkgs/gf2x/update

diff --git a/common/options.description b/common/options.description
index 06360211a23f..46e24a140e52 100644
--- a/common/options.description
+++ b/common/options.description
@@ -49,6 +49,7 @@ desc_option_lz4="Enable support for LZ4 compression format"
 desc_option_lzo="Enable support for LZO compression format"
 desc_option_microhttpd="Enable support for microhttpd"
 desc_option_mpcdec="Enable support for the Musepack decoder"
+desc_option_native_build="Enable instruction subsets supported by the build computer"
 desc_option_notify="Enable support for desktop notifications (libnotify)"
 desc_option_nvenc="Enable support for NVENC codecs"
 desc_option_openblas="Enable support for OpenBLAS accelerated linear algebra"
diff --git a/common/shlibs b/common/shlibs
index 278d2456072f..57f5ca62c4c6 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3983,6 +3983,7 @@ libsword-1.8.1.so libsword-1.8.1_6
 libpari-gmp.so.7 pari-2.13.0_1
 libtree-sitter.so.0 tree-sitter-0.19.0_1
 libgtkdatabox.so.1 gtkdatabox3-1.0.0_1
+libgf2x.so.3 gf2x-1.3.0_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
 libwayland-cursor++.so.0 libwaylandpp-0.2.8_1
 libwayland-egl++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/gf2x-devel b/srcpkgs/gf2x-devel
new file mode 120000
index 000000000000..4542295e8de7
--- /dev/null
+++ b/srcpkgs/gf2x-devel
@@ -0,0 +1 @@
+gf2x
\ No newline at end of file
diff --git a/srcpkgs/gf2x/template b/srcpkgs/gf2x/template
new file mode 100644
index 000000000000..b056ac4f87f7
--- /dev/null
+++ b/srcpkgs/gf2x/template
@@ -0,0 +1,35 @@
+# Template file for 'gf2x'
+pkgname=gf2x
+version=1.3.0
+revision=1
+wrksrc=gf2x-gf2x-${version}
+build_style=gnu-configure
+hostmakedepends="automake libtool"
+short_desc="C/C++ library for fast arithmetic in GF(2)[x]"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="GPL-3.0-or-later"
+homepage="https://gitlab.inria.fr/gf2x/gf2x"
+distfiles="https://gitlab.inria.fr/gf2x/gf2x/-/archive/gf2x-${version}/gf2x-gf2x-${version}.tar.gz"
+checksum=11bcf98b620c60c2ee3b4460b02b7be741f14cfdc26b542f22c92950926575e0
+
+build_options="native_build"
+
+if [ -z "$build_option_native_build" ]; then
+	# this disables sse3, ssse3, sse41, pclmul
+	configure_args="--disable-sse3"
+fi
+
+pre_configure() {
+	autoreconf -fi
+}
+
+gf2x-devel_package() {
+	depends="${sourcepkg}>=${version}_${revision}"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove usr/include
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+		vmove usr/lib/pkgconfig
+	}
+}
diff --git a/srcpkgs/gf2x/update b/srcpkgs/gf2x/update
new file mode 100644
index 000000000000..504503610161
--- /dev/null
+++ b/srcpkgs/gf2x/update
@@ -0,0 +1 @@
+pkgname=gf2x-gf2x

From 2f602e2098c4da49b8a33689a1f78297d416153a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 30 Jan 2018 11:02:38 -0300
Subject: [PATCH 2/5] New package: ntl-11.5.1

---
 common/shlibs        |  1 +
 srcpkgs/ntl-devel    |  1 +
 srcpkgs/ntl/template | 35 +++++++++++++++++++++++++++++++++++
 srcpkgs/ntl/update   |  1 +
 4 files changed, 38 insertions(+)
 create mode 120000 srcpkgs/ntl-devel
 create mode 100644 srcpkgs/ntl/template
 create mode 100644 srcpkgs/ntl/update

diff --git a/common/shlibs b/common/shlibs
index 57f5ca62c4c6..70534cc413b2 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3984,6 +3984,7 @@ libpari-gmp.so.7 pari-2.13.0_1
 libtree-sitter.so.0 tree-sitter-0.19.0_1
 libgtkdatabox.so.1 gtkdatabox3-1.0.0_1
 libgf2x.so.3 gf2x-1.3.0_1
+libntl.so.44 ntl-11.5.1_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
 libwayland-cursor++.so.0 libwaylandpp-0.2.8_1
 libwayland-egl++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/ntl-devel b/srcpkgs/ntl-devel
new file mode 120000
index 000000000000..fc0a39987329
--- /dev/null
+++ b/srcpkgs/ntl-devel
@@ -0,0 +1 @@
+ntl
\ No newline at end of file
diff --git a/srcpkgs/ntl/template b/srcpkgs/ntl/template
new file mode 100644
index 000000000000..e4b84a45cd3d
--- /dev/null
+++ b/srcpkgs/ntl/template
@@ -0,0 +1,35 @@
+# Template file for 'ntl'
+pkgname=ntl
+version=11.5.1
+revision=1
+build_wrksrc="src"
+build_style=configure
+hostmakedepends="perl libtool"
+makedepends="gmp-devel gf2x-devel"
+short_desc="Library for doing Number Theory"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="LGPL-2.1-or-later"
+homepage="https://libntl.org"
+distfiles="https://libntl.org/ntl-${version}.tar.gz"
+checksum=210d06c31306cbc6eaf6814453c56c776d9d8e8df36d74eb306f6a523d1c6a8a
+nocross=yes # runs binaries built for target
+
+build_options="native_build"
+
+do_configure() {
+	# see http://www.shoup.net/ntl/doc/tour-unix.html
+	./configure CXX="$CXX" CXXFLAGS="$CXXFLAGS" LIBTOOL="libtool" \
+		PREFIX="/usr" SHARED="on" NTL_GF2X_LIB="on" \
+		NATIVE="$(vopt_if native_build 'on' 'off')"
+}
+
+ntl-devel_package() {
+	depends="${sourcepkg}>=${version}_${revision} ${makedepends}"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove usr/include
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+		vmove usr/share
+	}
+}
diff --git a/srcpkgs/ntl/update b/srcpkgs/ntl/update
new file mode 100644
index 000000000000..7ca2974b146f
--- /dev/null
+++ b/srcpkgs/ntl/update
@@ -0,0 +1 @@
+site="https://libntl.org/download.html"

From ad93954b4390fb3eea960a56efe767b005f67d16 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Fri, 2 Feb 2018 22:42:49 -0300
Subject: [PATCH 3/5] New package: flintlib-2.8.0

---
 common/shlibs             |  1 +
 srcpkgs/flintlib-devel    |  1 +
 srcpkgs/flintlib/template | 26 ++++++++++++++++++++++++++
 srcpkgs/flintlib/update   |  3 +++
 4 files changed, 31 insertions(+)
 create mode 120000 srcpkgs/flintlib-devel
 create mode 100644 srcpkgs/flintlib/template
 create mode 100644 srcpkgs/flintlib/update

diff --git a/common/shlibs b/common/shlibs
index 70534cc413b2..ce170cbdeaa8 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3985,6 +3985,7 @@ libtree-sitter.so.0 tree-sitter-0.19.0_1
 libgtkdatabox.so.1 gtkdatabox3-1.0.0_1
 libgf2x.so.3 gf2x-1.3.0_1
 libntl.so.44 ntl-11.5.1_1
+libflint.so.16 flintlib-2.8.0_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
 libwayland-cursor++.so.0 libwaylandpp-0.2.8_1
 libwayland-egl++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/flintlib-devel b/srcpkgs/flintlib-devel
new file mode 120000
index 000000000000..7c2633183069
--- /dev/null
+++ b/srcpkgs/flintlib-devel
@@ -0,0 +1 @@
+flintlib
\ No newline at end of file
diff --git a/srcpkgs/flintlib/template b/srcpkgs/flintlib/template
new file mode 100644
index 000000000000..078ed5316427
--- /dev/null
+++ b/srcpkgs/flintlib/template
@@ -0,0 +1,26 @@
+# Template file for 'flintlib'
+pkgname=flintlib
+version=2.8.0
+revision=1
+wrksrc="flint-${version}"
+build_style=configure
+configure_args="--prefix=/usr --with-gmp=/usr --with-mpfr=/usr --with-ntl=/usr"
+makedepends="mpfr-devel ntl-devel"
+short_desc="Fast Library for Number Theory"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="LGPL-2.1-or-later"
+homepage="https://flintlib.org"
+distfiles="https://flintlib.org/flint-${version}.tar.gz"
+checksum=584235cdc39d779d9920eaef16fe084f3c26ffeeea003a3fff64a20a0f33449e
+
+CFLAGS="-D_GNU_SOURCE" # needed for cpu_set_t
+
+flintlib-devel_package() {
+	depends="${sourcepkg}>=${version}_${revision} mpfr-devel"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove usr/include
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+	}
+}
diff --git a/srcpkgs/flintlib/update b/srcpkgs/flintlib/update
new file mode 100644
index 000000000000..21d6ab4bae5b
--- /dev/null
+++ b/srcpkgs/flintlib/update
@@ -0,0 +1,3 @@
+# package was named 'flintlib' because of another package
+pkgname=flint
+site="https://flintlib.org/downloads.html"

From 167407b61e4af53c2a2f24efef8368a8b28d5fe7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 4 Feb 2018 01:00:19 -0300
Subject: [PATCH 4/5] New package: arb-2.20.0

---
 common/shlibs        |  1 +
 srcpkgs/arb-devel    |  1 +
 srcpkgs/arb/template | 28 ++++++++++++++++++++++++++++
 3 files changed, 30 insertions(+)
 create mode 120000 srcpkgs/arb-devel
 create mode 100644 srcpkgs/arb/template

diff --git a/common/shlibs b/common/shlibs
index ce170cbdeaa8..0b0e1fcb59ab 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3986,6 +3986,7 @@ libgtkdatabox.so.1 gtkdatabox3-1.0.0_1
 libgf2x.so.3 gf2x-1.3.0_1
 libntl.so.44 ntl-11.5.1_1
 libflint.so.16 flintlib-2.8.0_1
+libarb.so.2 arb-2.20.0_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
 libwayland-cursor++.so.0 libwaylandpp-0.2.8_1
 libwayland-egl++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/arb-devel b/srcpkgs/arb-devel
new file mode 120000
index 000000000000..456b9f00a86c
--- /dev/null
+++ b/srcpkgs/arb-devel
@@ -0,0 +1 @@
+arb
\ No newline at end of file
diff --git a/srcpkgs/arb/template b/srcpkgs/arb/template
new file mode 100644
index 000000000000..f195d8babf12
--- /dev/null
+++ b/srcpkgs/arb/template
@@ -0,0 +1,28 @@
+# Template file for 'arb'
+pkgname=arb
+version=2.20.0
+revision=1
+build_style=configure
+configure_args="--prefix=/usr --with-gmp=/usr --with-mpfr=/usr --with-flint=/usr"
+makedepends="flintlib-devel"
+short_desc="C library for arbitrary-precision interval arithmetic"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="LGPL-2.1-or-later"
+homepage="https://arblib.org"
+distfiles="https://github.com/fredrik-johansson/arb/archive/${version}.tar.gz"
+checksum=d2f186b10590c622c11d1ca190c01c3da08bac9bc04e84cb591534b917faffe7
+
+if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
+	# on glibc this would give a conflict with function fdiv()
+	CFLAGS="-D_GNU_SOURCE" # needed for cpu_set_t
+fi
+
+arb-devel_package() {
+	depends="${sourcepkg}>=${version}_${revision} ${makedepends}"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove usr/include
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+	}
+}

From 6fdaf00a8e555d18db3524aadad9cc53a38d5fcf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 Jun 2020 14:50:01 -0300
Subject: [PATCH 5/5] New package: eclib-20210625

---
 common/shlibs          |  1 +
 srcpkgs/eclib-devel    |  1 +
 srcpkgs/eclib/template | 29 +++++++++++++++++++++++++++++
 3 files changed, 31 insertions(+)
 create mode 120000 srcpkgs/eclib-devel
 create mode 100644 srcpkgs/eclib/template

diff --git a/common/shlibs b/common/shlibs
index 0b0e1fcb59ab..edfc82fbed0b 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3987,6 +3987,7 @@ libgf2x.so.3 gf2x-1.3.0_1
 libntl.so.44 ntl-11.5.1_1
 libflint.so.16 flintlib-2.8.0_1
 libarb.so.2 arb-2.20.0_1
+libec.so.8 eclib-20210625_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
 libwayland-cursor++.so.0 libwaylandpp-0.2.8_1
 libwayland-egl++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/eclib-devel b/srcpkgs/eclib-devel
new file mode 120000
index 000000000000..d29e610e9249
--- /dev/null
+++ b/srcpkgs/eclib-devel
@@ -0,0 +1 @@
+eclib
\ No newline at end of file
diff --git a/srcpkgs/eclib/template b/srcpkgs/eclib/template
new file mode 100644
index 000000000000..3db0bd2119b9
--- /dev/null
+++ b/srcpkgs/eclib/template
@@ -0,0 +1,29 @@
+# Template file for 'eclib'
+pkgname=eclib
+version=20210625
+revision=1
+build_style=gnu-configure
+configure_args="--with-flint --with-boost"
+hostmakedepends="automake autoconf-archive libtool"
+makedepends="pari-devel ntl-devel flintlib-devel boost-devel"
+short_desc="Elliptic curve library, includes mwrank"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="GPL-2.0-or-later"
+homepage="https://github.com/JohnCremona/eclib"
+distfiles="https://github.com/JohnCremona/eclib/archive/refs/tags/${version}.tar.gz"
+checksum=00333fd36afd237c9e6e410c7ab98536ddcd7fdc430e6837fe293247b835c572
+
+pre_configure() {
+	autoreconf -fi
+}
+
+eclib-devel_package() {
+	depends="${sourcepkg}>=${version}_${revision} ntl-devel"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove usr/include
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+		vmove usr/lib/pkgconfig
+	}
+}

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

* Re: Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (61 preceding siblings ...)
  2021-08-10 20:46 ` tornaria
@ 2021-08-10 20:48 ` tornaria
  2021-08-17 21:50 ` tornaria
                   ` (6 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: tornaria @ 2021-08-10 20:48 UTC (permalink / raw)
  To: ml

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

New comment by tornaria on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#issuecomment-896306423

Comment:
All done.

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

* Re: Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (62 preceding siblings ...)
  2021-08-10 20:48 ` tornaria
@ 2021-08-17 21:50 ` tornaria
  2021-08-18  9:26 ` dkwo
                   ` (5 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: tornaria @ 2021-08-17 21:50 UTC (permalink / raw)
  To: ml

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

New comment by tornaria on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#issuecomment-900654594

Comment:
@dkwo: do you want to test this? I've successfully built sagemath-9.4.rc1 with new pari + new giac + this PR.

Note that you have to rebase this PR before compiling so it gets the pari update (otherwise it will complain about a missing soname and refuse to pkg).

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

* Re: Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (63 preceding siblings ...)
  2021-08-17 21:50 ` tornaria
@ 2021-08-18  9:26 ` dkwo
  2021-08-18 14:44 ` tornaria
                   ` (4 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: dkwo @ 2021-08-18  9:26 UTC (permalink / raw)
  To: ml

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

New comment by dkwo on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#issuecomment-900962949

Comment:
@tornaria Thanks, I noticed that.
Didn't you need `configure_args+=" --with-readline --with-gmp"` in pari to use with sage?
I will rebuild sage as well soon, but I think you can go ahead with these PR's in the meantime.

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

* Re: Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (64 preceding siblings ...)
  2021-08-18  9:26 ` dkwo
@ 2021-08-18 14:44 ` tornaria
  2021-08-18 14:57 ` dkwo
                   ` (3 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: tornaria @ 2021-08-18 14:44 UTC (permalink / raw)
  To: ml

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

New comment by tornaria on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#issuecomment-901175916

Comment:
> @tornaria Thanks, I noticed that.
> Didn't you need `configure_args+=" --with-readline --with-gmp"` in pari to use with sage?

Not really, they are default on when `readline-devel` and `gmp-devel` are installed.

If you start our new gp (already in the void repo) you can see in the banner:
```
                                                                 GP/PARI CALCULATOR Version 2.13.2 (released)
                                                         amd64 running linux (x86-64/GMP-6.2.1 kernel) 64-bit version
                                                           compiled: Aug 15 2021, gcc version 10.2.1 20201203 (GCC)
                                                                          threading engine: pthread
                                                                (readline v8.1 enabled, extended help enabled)
```
Here gmp, readline are enabled. Also pthreads, which is required in sage starting in 9.4.


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

* Re: Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (65 preceding siblings ...)
  2021-08-18 14:44 ` tornaria
@ 2021-08-18 14:57 ` dkwo
  2021-08-18 16:57 ` dkwo
                   ` (2 subsequent siblings)
  69 siblings, 0 replies; 71+ messages in thread
From: dkwo @ 2021-08-18 14:57 UTC (permalink / raw)
  To: ml

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

New comment by dkwo on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#issuecomment-901186346

Comment:
I see, you are right.

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

* Re: Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (66 preceding siblings ...)
  2021-08-18 14:57 ` dkwo
@ 2021-08-18 16:57 ` dkwo
  2021-08-18 18:48 ` [PR PATCH] [Merged]: " ericonr
  2021-08-18 18:49 ` ericonr
  69 siblings, 0 replies; 71+ messages in thread
From: dkwo @ 2021-08-18 16:57 UTC (permalink / raw)
  To: ml

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

New comment by dkwo on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#issuecomment-901275082

Comment:
@tornaria Btw, I've also just built `sage-9.4.rc2` with this, the other four math package and the giac PR's :)

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

* Re: [PR PATCH] [Merged]: Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (67 preceding siblings ...)
  2021-08-18 16:57 ` dkwo
@ 2021-08-18 18:48 ` ericonr
  2021-08-18 18:49 ` ericonr
  69 siblings, 0 replies; 71+ messages in thread
From: ericonr @ 2021-08-18 18:48 UTC (permalink / raw)
  To: ml

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

There's a merged pull request on the void-packages repository

Math packages: gf2x, ntl, flintlib, arb, eclib
https://github.com/void-linux/void-packages/pull/30032

Description:
<!-- Mark items with [x] where applicable -->

#### General
- [x] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me

#### Notes
- This includes: `gf2x` (see also #29783), `ntl`, `flintlib`, `arb`, `eclib`.
- Everything is tested and check pass in x86_64, x86_64-musl, i686.

EDIT: split in smaller independent PR to ease review.

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

* Re: Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (68 preceding siblings ...)
  2021-08-18 18:48 ` [PR PATCH] [Merged]: " ericonr
@ 2021-08-18 18:49 ` ericonr
  69 siblings, 0 replies; 71+ messages in thread
From: ericonr @ 2021-08-18 18:49 UTC (permalink / raw)
  To: ml

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

New comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#issuecomment-901348335

Comment:
Ping me for the next math package PR we should review ;)

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

end of thread, other threads:[~2021-08-18 18:49 UTC | newest]

Thread overview: 71+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
2021-04-06  3:53 ` abenson
2021-04-06  5:05 ` Math packages: gf2x, ntl, flintlib, arb, eclib tornaria
2021-04-06  5:05 ` tornaria
2021-04-07 12:53 ` dkwo
2021-04-09  2:10 ` [PR PATCH] [Updated] " tornaria
2021-05-13 17:57 ` tornaria
2021-05-13 18:25 ` tornaria
2021-08-06 19:18 ` [PR REVIEW] " ericonr
2021-08-06 19:18 ` ericonr
2021-08-06 19:18 ` ericonr
2021-08-06 19:18 ` ericonr
2021-08-06 19:18 ` ericonr
2021-08-06 19:18 ` ericonr
2021-08-06 19:18 ` ericonr
2021-08-06 19:18 ` ericonr
2021-08-06 19:18 ` ericonr
2021-08-06 19:18 ` ericonr
2021-08-06 19:18 ` ericonr
2021-08-06 19:18 ` ericonr
2021-08-06 19:18 ` ericonr
2021-08-06 19:18 ` ericonr
2021-08-06 19:18 ` ericonr
2021-08-06 19:18 ` ericonr
2021-08-06 19:18 ` ericonr
2021-08-06 19:18 ` ericonr
2021-08-06 19:32 ` [PR PATCH] [Updated] " tornaria
2021-08-06 19:32 ` tornaria
2021-08-06 19:36 ` [PR REVIEW] " tornaria
2021-08-06 19:44 ` ericonr
2021-08-06 19:44 ` ericonr
2021-08-06 20:02 ` tornaria
2021-08-06 20:05 ` ericonr
2021-08-06 20:05 ` ericonr
2021-08-06 20:11 ` tornaria
2021-08-06 20:48 ` [PR REVIEW] " tornaria
2021-08-06 20:48 ` tornaria
2021-08-06 20:52 ` tornaria
2021-08-06 21:00 ` tornaria
2021-08-06 21:22 ` ericonr
2021-08-06 21:24 ` ericonr
2021-08-07  0:12 ` ericonr
2021-08-08 23:04 ` tornaria
2021-08-08 23:22 ` [PR PATCH] [Updated] " tornaria
2021-08-08 23:24 ` [PR REVIEW] " tornaria
2021-08-08 23:25 ` tornaria
2021-08-08 23:25 ` tornaria
2021-08-08 23:26 ` tornaria
2021-08-08 23:30 ` [PR PATCH] [Updated] " tornaria
2021-08-08 23:30 ` [PR REVIEW] " tornaria
2021-08-08 23:33 ` tornaria
2021-08-08 23:37 ` tornaria
2021-08-09  2:33 ` [PR PATCH] [Updated] " tornaria
2021-08-09  2:40 ` tornaria
2021-08-10 18:38 ` [PR REVIEW] " ericonr
2021-08-10 18:38 ` ericonr
2021-08-10 18:38 ` ericonr
2021-08-10 18:38 ` ericonr
2021-08-10 18:38 ` ericonr
2021-08-10 18:38 ` ericonr
2021-08-10 18:38 ` ericonr
2021-08-10 20:39 ` [PR PATCH] [Updated] " tornaria
2021-08-10 20:46 ` tornaria
2021-08-10 20:48 ` tornaria
2021-08-17 21:50 ` tornaria
2021-08-18  9:26 ` dkwo
2021-08-18 14:44 ` tornaria
2021-08-18 14:57 ` dkwo
2021-08-18 16:57 ` dkwo
2021-08-18 18:48 ` [PR PATCH] [Merged]: " ericonr
2021-08-18 18:49 ` ericonr

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 NNTP newsgroup(s).