Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] Several math libraries
@ 2021-04-04 15:18 tornaria
  2021-04-04 17:41 ` dkwo
                   ` (19 more replies)
  0 siblings, 20 replies; 21+ messages in thread
From: tornaria @ 2021-04-04 15:18 UTC (permalink / raw)
  To: ml

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

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

https://github.com/tornaria/void-packages math1
https://github.com/void-linux/void-packages/pull/29997

Several math libraries
<!-- 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: `givaro`, `fflas-ffpack`, `linbox`, `gf2x` (see also #29783), `ntl`, `flintlib`, `arb`, one commit each.
- Everything is tested and check pass in x86_64, x86_64-musl, i686.
- Except `gf2x`, everything is nocross.
- I tried to make sure everything works with baseline x86_64 as defined [here](https://en.wikipedia.org/wiki/X86-64#Microarchitecture_Levels), essentially it means SSE2 is ok, but SSE3 is not.
- I added a general option `native`, which defaults to off. When turned on, it will let the libraries compile for the build machine which often results in significant improvements.

I will have a few more coming, but it takes a real effort to turn a works-for-me template into a portable one.

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

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-math1-29997.patch --]
[-- Type: text/x-diff, Size: 16711 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 1/7] 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 2/7] 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 3/7] 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 4/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 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 5/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 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 6/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 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 08ce53ac2481379d85eb100824aefb45651c30ec 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 7/7] New package: arb-2.19.0

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

diff --git a/common/shlibs b/common/shlibs
index d488757ccc72..5c5ee405ddbc 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3956,6 +3956,9 @@ 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.17.0_1
+libarb.so.2 arb-2.19.0_1
+libec.so.6 eclib-20190909_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"
+	}
+}

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

* Re: Several math libraries
  2021-04-04 15:18 [PR PATCH] Several math libraries tornaria
@ 2021-04-04 17:41 ` dkwo
  2021-04-04 23:33 ` [PR PATCH] [Updated] " tornaria
                   ` (18 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: dkwo @ 2021-04-04 17:41 UTC (permalink / raw)
  To: ml

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

New comment by dkwo on void-packages repository

https://github.com/void-linux/void-packages/pull/29997#issuecomment-813071226

Comment:
Great job, I will test soon.

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

* Re: [PR PATCH] [Updated] Several math libraries
  2021-04-04 15:18 [PR PATCH] Several math libraries tornaria
  2021-04-04 17:41 ` dkwo
@ 2021-04-04 23:33 ` tornaria
  2021-04-04 23:36 ` tornaria
                   ` (17 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: tornaria @ 2021-04-04 23:33 UTC (permalink / raw)
  To: ml

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

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

https://github.com/tornaria/void-packages math1
https://github.com/void-linux/void-packages/pull/29997

Several math libraries
<!-- 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: `givaro`, `fflas-ffpack`, `linbox`, `gf2x` (see also #29783), `ntl`, `flintlib`, `arb`, one commit each.
- Everything is tested and check pass in x86_64, x86_64-musl, i686.
- Except `gf2x`, everything is nocross.
- I tried to make sure everything works with baseline x86_64 as defined [here](https://en.wikipedia.org/wiki/X86-64#Microarchitecture_Levels), essentially it means SSE2 is ok, but SSE3 is not.
- I added a general option `native`, which defaults to off. When turned on, it will let the libraries compile for the build machine which often results in significant improvements.

I will have a few more coming, but it takes a real effort to turn a works-for-me template into a portable one.

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

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-math1-29997.patch --]
[-- Type: text/x-diff, Size: 16654 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 1/7] 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 2/7] 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 3/7] 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 4/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 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 5/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 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 6/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 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 7/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 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"
+	}
+}

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

* Re: Several math libraries
  2021-04-04 15:18 [PR PATCH] Several math libraries tornaria
  2021-04-04 17:41 ` dkwo
  2021-04-04 23:33 ` [PR PATCH] [Updated] " tornaria
@ 2021-04-04 23:36 ` tornaria
  2021-04-06  4:57 ` [PR PATCH] [Updated] " tornaria
                   ` (16 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: tornaria @ 2021-04-04 23:36 UTC (permalink / raw)
  To: ml

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

New comment by tornaria on void-packages repository

https://github.com/void-linux/void-packages/pull/29997#issuecomment-813116766

Comment:
Nothing relevant changed: I cleaned up some leftover lines in `common/shlib`.

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

* Re: [PR PATCH] [Updated] Several math libraries
  2021-04-04 15:18 [PR PATCH] Several math libraries tornaria
                   ` (2 preceding siblings ...)
  2021-04-04 23:36 ` tornaria
@ 2021-04-06  4:57 ` tornaria
  2021-04-07 12:52 ` Math packages: givaro, fflas-ffpack, linbox dkwo
                   ` (15 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: tornaria @ 2021-04-06  4:57 UTC (permalink / raw)
  To: ml

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

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

https://github.com/tornaria/void-packages math1
https://github.com/void-linux/void-packages/pull/29997

Several math libraries
<!-- 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: `givaro`, `fflas-ffpack`, `linbox`, `gf2x` (see also #29783), `ntl`, `flintlib`, `arb`, one commit each.
- Everything is tested and check pass in x86_64, x86_64-musl, i686.
- Except `gf2x`, everything is nocross.
- I tried to make sure everything works with baseline x86_64 as defined [here](https://en.wikipedia.org/wiki/X86-64#Microarchitecture_Levels), essentially it means SSE2 is ok, but SSE3 is not.
- I added a general option `native`, which defaults to off. When turned on, it will let the libraries compile for the build machine which often results in significant improvements.

I will have a few more coming, but it takes a real effort to turn a works-for-me template into a portable one.

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

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

From 22744296d015ae018a683a74206dbba06a8b992c 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 1/3] 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..15b307ca117a
--- /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="https://github.com/linbox-team/givaro/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 fbfd2e6b7ddc50b8b92503c795dfe45cc4a3eb9c 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 2/3] 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 8c93208c8989b98b29dafac6e5ee868b96e38bda 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 3/3] 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"
+	}
+}

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

* Re: Math packages: givaro, fflas-ffpack, linbox
  2021-04-04 15:18 [PR PATCH] Several math libraries tornaria
                   ` (3 preceding siblings ...)
  2021-04-06  4:57 ` [PR PATCH] [Updated] " tornaria
@ 2021-04-07 12:52 ` dkwo
  2021-04-07 17:24 ` [PR REVIEW] " Chocimier
                   ` (14 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: dkwo @ 2021-04-07 12:52 UTC (permalink / raw)
  To: ml

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

New comment by dkwo on void-packages repository

https://github.com/void-linux/void-packages/pull/29997#issuecomment-814888657

Comment:
Looks good to me.

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

* Re: [PR REVIEW] Math packages: givaro, fflas-ffpack, linbox
  2021-04-04 15:18 [PR PATCH] Several math libraries tornaria
                   ` (4 preceding siblings ...)
  2021-04-07 12:52 ` Math packages: givaro, fflas-ffpack, linbox dkwo
@ 2021-04-07 17:24 ` Chocimier
  2021-04-07 17:43 ` ericonr
                   ` (13 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: Chocimier @ 2021-04-07 17:24 UTC (permalink / raw)
  To: ml

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

New review comment by Chocimier on void-packages repository

https://github.com/void-linux/void-packages/pull/29997#discussion_r608851206

Comment:
I would rather remove option and make in unconditional. People are free to use XBPS_CFLAGS="-march=native" to get optimized build. Works for this package, should work for others too.

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

* Re: [PR REVIEW] Math packages: givaro, fflas-ffpack, linbox
  2021-04-04 15:18 [PR PATCH] Several math libraries tornaria
                   ` (5 preceding siblings ...)
  2021-04-07 17:24 ` [PR REVIEW] " Chocimier
@ 2021-04-07 17:43 ` ericonr
  2021-04-07 17:45 ` Chocimier
                   ` (12 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: ericonr @ 2021-04-07 17:43 UTC (permalink / raw)
  To: ml

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

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/29997#discussion_r608864145

Comment:
I think the correct variable is `XBPS_TARGET_CFLAGS`? At least that's what's used in the `build-profiles` (the README there needs to be fixed, btw).

I agree that that's a better way of solving it, but it would be nice to make sure it's working. Also see #29732

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

* Re: [PR REVIEW] Math packages: givaro, fflas-ffpack, linbox
  2021-04-04 15:18 [PR PATCH] Several math libraries tornaria
                   ` (6 preceding siblings ...)
  2021-04-07 17:43 ` ericonr
@ 2021-04-07 17:45 ` Chocimier
  2021-04-07 17:54 ` tornaria
                   ` (11 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: Chocimier @ 2021-04-07 17:45 UTC (permalink / raw)
  To: ml

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

New review comment by Chocimier on void-packages repository

https://github.com/void-linux/void-packages/pull/29997#discussion_r608865493

Comment:
I mean XBPS_CFLAGS in etc/conf

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

* Re: [PR REVIEW] Math packages: givaro, fflas-ffpack, linbox
  2021-04-04 15:18 [PR PATCH] Several math libraries tornaria
                   ` (7 preceding siblings ...)
  2021-04-07 17:45 ` Chocimier
@ 2021-04-07 17:54 ` tornaria
  2021-04-07 17:55 ` tornaria
                   ` (10 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: tornaria @ 2021-04-07 17:54 UTC (permalink / raw)
  To: ml

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

New review comment by tornaria on void-packages repository

https://github.com/void-linux/void-packages/pull/29997#discussion_r608871264

Comment:
It might work in this case (assuming the only effect of the --enable-sse* configure flags is to add -msse* to CFLAGS, I'd have to check).

However, some math packages have custom written asm for different architectures so selecting build option "native" will not necessarily be equivalent to just using `-march=native`.

Another point is that using a build option will make an annotation in the xbps, e.g.:
```
$ xq givaro | grep native
build-options: ~native 
```
vs.
```
$ xbps-query -S givaro | grep build
build-options: native 
```

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

* Re: [PR REVIEW] Math packages: givaro, fflas-ffpack, linbox
  2021-04-04 15:18 [PR PATCH] Several math libraries tornaria
                   ` (8 preceding siblings ...)
  2021-04-07 17:54 ` tornaria
@ 2021-04-07 17:55 ` tornaria
  2021-08-19  7:56 ` dkwo
                   ` (9 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: tornaria @ 2021-04-07 17:55 UTC (permalink / raw)
  To: ml

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

New review comment by tornaria on void-packages repository

https://github.com/void-linux/void-packages/pull/29997#discussion_r608871264

Comment:
It might work in this case (assuming the only effect of the --enable-sse* configure flags is to add -msse* to CFLAGS, I'd have to check).

However, some math packages have custom written asm for different architectures so selecting build option "native" will not necessarily be equivalent to just using `-march=native`.

Another point is that using a build option will make an annotation in the xbps, e.g.:
```
$ xq givaro | grep native
build-options: ~native 
```
vs.
```
$ xq givaro | grep native
build-options: native 
```

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

* Re: Math packages: givaro, fflas-ffpack, linbox
  2021-04-04 15:18 [PR PATCH] Several math libraries tornaria
                   ` (9 preceding siblings ...)
  2021-04-07 17:55 ` tornaria
@ 2021-08-19  7:56 ` dkwo
  2021-08-19 14:01 ` [PR PATCH] [Updated] " tornaria
                   ` (8 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: dkwo @ 2021-08-19  7:56 UTC (permalink / raw)
  To: ml

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

New comment by dkwo on void-packages repository

https://github.com/void-linux/void-packages/pull/29997#issuecomment-901693985

Comment:
@tornaria @ericonr Btw, don't forget this one ;)

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

* Re: [PR PATCH] [Updated] Math packages: givaro, fflas-ffpack, linbox
  2021-04-04 15:18 [PR PATCH] Several math libraries tornaria
                   ` (10 preceding siblings ...)
  2021-08-19  7:56 ` dkwo
@ 2021-08-19 14:01 ` tornaria
  2021-08-19 15:04 ` tornaria
                   ` (7 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: tornaria @ 2021-08-19 14:01 UTC (permalink / raw)
  To: ml

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

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

https://github.com/tornaria/void-packages math1
https://github.com/void-linux/void-packages/pull/29997

Math packages: givaro, fflas-ffpack, linbox
<!-- 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: `givaro`, `fflas-ffpack`, `linbox`.
- Everything is tested and check pass in x86_64, x86_64-musl, i686.
- Except `gf2x`, everything is nocross.
- I tried to make sure everything works with baseline x86_64 as defined [here](https://en.wikipedia.org/wiki/X86-64#Microarchitecture_Levels), essentially it means SSE2 is ok, but SSE3 is not.
- I added a general option `native`, which defaults to off. When turned on, it will let the libraries compile for the build machine which often results in significant improvements.

EDIT: split in smaller independent PR to ease review

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

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

From 4cb2d960903b1a927ef50a7625fe968252ba2b52 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 1/3] New package: givaro-4.1.1

---
 common/shlibs           |  1 +
 srcpkgs/givaro-devel    |  1 +
 srcpkgs/givaro/template | 37 +++++++++++++++++++++++++++++++++++++
 3 files changed, 39 insertions(+)
 create mode 120000 srcpkgs/givaro-devel
 create mode 100644 srcpkgs/givaro/template

diff --git a/common/shlibs b/common/shlibs
index ca7bd26dfd69..facc0edd328e 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3981,6 +3981,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
 libpari-gmp-tls.so.7 pari-2.13.2_1
 libtree-sitter.so.0 tree-sitter-0.19.0_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..9c16de5b1974
--- /dev/null
+++ b/srcpkgs/givaro/template
@@ -0,0 +1,37 @@
+# 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="https://github.com/linbox-team/givaro/releases/download/v${version}/givaro-${version}.tar.gz"
+checksum=628049899386e91da245aee6cd446350fbca87e94863bc0d815066c08150487f
+nocross=yes
+
+build_options="native_build"
+
+if [ -z "$build_option_native_build" ]; 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="${sourcepkg}>=${version}_${revision} ${makedepends}"
+	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 e849a17d782a8f6de90643994ecc042458badcf9 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 2/3] New package: fflas_ffpack-2.4.3

---
 srcpkgs/fflas_ffpack/template | 24 ++++++++++++++++++++++++
 1 file changed, 24 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..58bab54ba310
--- /dev/null
+++ b/srcpkgs/fflas_ffpack/template
@@ -0,0 +1,24 @@
+# Template file for 'fflas_ffpack'
+pkgname=fflas_ffpack
+version=2.4.3
+revision=1
+build_style=gnu-configure
+hostmakedepends="pkg-config"
+makedepends="givaro-devel openblas-devel"
+depends="${makedepends}"
+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_build"
+
+if [ -z "$build_option_native_build" ]; 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 dae748b0dbc75fc9cd9ed96b2951e2423ce26456 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 3/3] New package: linbox-1.6.3

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

diff --git a/common/shlibs b/common/shlibs
index facc0edd328e..6d2ba9fec550 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3982,6 +3982,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
 libpari-gmp-tls.so.7 pari-2.13.2_1
 libtree-sitter.so.0 tree-sitter-0.19.0_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..45f62650388c
--- /dev/null
+++ b/srcpkgs/linbox/template
@@ -0,0 +1,45 @@
+# 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_build"
+
+if [ -z "$build_option_native_build" ]; 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="${sourcepkg}>=${version}_${revision} ${makedepends}"
+	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
+	}
+}

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

* Re: Math packages: givaro, fflas-ffpack, linbox
  2021-04-04 15:18 [PR PATCH] Several math libraries tornaria
                   ` (11 preceding siblings ...)
  2021-08-19 14:01 ` [PR PATCH] [Updated] " tornaria
@ 2021-08-19 15:04 ` tornaria
  2021-09-17 13:42 ` [PR PATCH] [Updated] " tornaria
                   ` (6 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: tornaria @ 2021-08-19 15:04 UTC (permalink / raw)
  To: ml

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

New comment by tornaria on void-packages repository

https://github.com/void-linux/void-packages/pull/29997#issuecomment-901992344

Comment:
@ericonr: rebased with only style changes. Tested with sage-9.4.rc2.

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

* Re: [PR PATCH] [Updated] Math packages: givaro, fflas-ffpack, linbox
  2021-04-04 15:18 [PR PATCH] Several math libraries tornaria
                   ` (12 preceding siblings ...)
  2021-08-19 15:04 ` tornaria
@ 2021-09-17 13:42 ` tornaria
  2021-09-17 14:07 ` tornaria
                   ` (5 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: tornaria @ 2021-09-17 13:42 UTC (permalink / raw)
  To: ml

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

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

https://github.com/tornaria/void-packages math1
https://github.com/void-linux/void-packages/pull/29997

Math packages: givaro, fflas-ffpack, linbox
<!-- 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: `givaro`, `fflas-ffpack`, `linbox`.
- Everything is tested and check pass in x86_64, x86_64-musl, i686.
- Except `gf2x`, everything is nocross.
- I tried to make sure everything works with baseline x86_64 as defined [here](https://en.wikipedia.org/wiki/X86-64#Microarchitecture_Levels), essentially it means SSE2 is ok, but SSE3 is not.
- I added a general option `native`, which defaults to off. When turned on, it will let the libraries compile for the build machine which often results in significant improvements.

EDIT: split in smaller independent PR to ease review

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

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

From b7a2192d02d884fb2cc2b798fdb681fb04e2c65f 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 1/3] New package: givaro-4.1.1

---
 common/shlibs           |  1 +
 srcpkgs/givaro-devel    |  1 +
 srcpkgs/givaro/template | 37 +++++++++++++++++++++++++++++++++++++
 3 files changed, 39 insertions(+)
 create mode 120000 srcpkgs/givaro-devel
 create mode 100644 srcpkgs/givaro/template

diff --git a/common/shlibs b/common/shlibs
index 840fbc0b9a9f..75fbf05437b3 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3991,6 +3991,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
 libpari-gmp-tls.so.7 pari-2.13.2_1
 libtree-sitter.so.0 tree-sitter-0.19.0_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..9c16de5b1974
--- /dev/null
+++ b/srcpkgs/givaro/template
@@ -0,0 +1,37 @@
+# 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="https://github.com/linbox-team/givaro/releases/download/v${version}/givaro-${version}.tar.gz"
+checksum=628049899386e91da245aee6cd446350fbca87e94863bc0d815066c08150487f
+nocross=yes
+
+build_options="native_build"
+
+if [ -z "$build_option_native_build" ]; 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="${sourcepkg}>=${version}_${revision} ${makedepends}"
+	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 f9bb22fb5680e6dd45ab674b0d4a9f2ac226e404 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 2/3] New package: fflas_ffpack-2.4.3

---
 srcpkgs/fflas_ffpack/template | 24 ++++++++++++++++++++++++
 1 file changed, 24 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..58bab54ba310
--- /dev/null
+++ b/srcpkgs/fflas_ffpack/template
@@ -0,0 +1,24 @@
+# Template file for 'fflas_ffpack'
+pkgname=fflas_ffpack
+version=2.4.3
+revision=1
+build_style=gnu-configure
+hostmakedepends="pkg-config"
+makedepends="givaro-devel openblas-devel"
+depends="${makedepends}"
+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_build"
+
+if [ -z "$build_option_native_build" ]; 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 eb72cccffb68b2ea3a1d48fc2fdadb3358e976e9 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 3/3] New package: linbox-1.6.3

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

diff --git a/common/shlibs b/common/shlibs
index 75fbf05437b3..90eacdee64d1 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3992,6 +3992,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
 libpari-gmp-tls.so.7 pari-2.13.2_1
 libtree-sitter.so.0 tree-sitter-0.19.0_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..45f62650388c
--- /dev/null
+++ b/srcpkgs/linbox/template
@@ -0,0 +1,45 @@
+# 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_build"
+
+if [ -z "$build_option_native_build" ]; 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="${sourcepkg}>=${version}_${revision} ${makedepends}"
+	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
+	}
+}

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

* Re: [PR PATCH] [Updated] Math packages: givaro, fflas-ffpack, linbox
  2021-04-04 15:18 [PR PATCH] Several math libraries tornaria
                   ` (13 preceding siblings ...)
  2021-09-17 13:42 ` [PR PATCH] [Updated] " tornaria
@ 2021-09-17 14:07 ` tornaria
  2021-09-17 15:30 ` tornaria
                   ` (4 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: tornaria @ 2021-09-17 14:07 UTC (permalink / raw)
  To: ml

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

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

https://github.com/tornaria/void-packages math1
https://github.com/void-linux/void-packages/pull/29997

Math packages: givaro, fflas-ffpack, linbox
<!-- 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: `givaro`, `fflas-ffpack`, `linbox`.
- Everything is tested and check pass in x86_64, x86_64-musl, i686.
- Except `gf2x`, everything is nocross.
- I tried to make sure everything works with baseline x86_64 as defined [here](https://en.wikipedia.org/wiki/X86-64#Microarchitecture_Levels), essentially it means SSE2 is ok, but SSE3 is not.
- I added a general option `native`, which defaults to off. When turned on, it will let the libraries compile for the build machine which often results in significant improvements.

EDIT: split in smaller independent PR to ease review

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

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

From b7a2192d02d884fb2cc2b798fdb681fb04e2c65f 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 1/3] New package: givaro-4.1.1

---
 common/shlibs           |  1 +
 srcpkgs/givaro-devel    |  1 +
 srcpkgs/givaro/template | 37 +++++++++++++++++++++++++++++++++++++
 3 files changed, 39 insertions(+)
 create mode 120000 srcpkgs/givaro-devel
 create mode 100644 srcpkgs/givaro/template

diff --git a/common/shlibs b/common/shlibs
index 840fbc0b9a9f..75fbf05437b3 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3991,6 +3991,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
 libpari-gmp-tls.so.7 pari-2.13.2_1
 libtree-sitter.so.0 tree-sitter-0.19.0_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..9c16de5b1974
--- /dev/null
+++ b/srcpkgs/givaro/template
@@ -0,0 +1,37 @@
+# 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="https://github.com/linbox-team/givaro/releases/download/v${version}/givaro-${version}.tar.gz"
+checksum=628049899386e91da245aee6cd446350fbca87e94863bc0d815066c08150487f
+nocross=yes
+
+build_options="native_build"
+
+if [ -z "$build_option_native_build" ]; 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="${sourcepkg}>=${version}_${revision} ${makedepends}"
+	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 0fbbbd2eff2c76b260c127bcd40e77bd52c9d5f1 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 2/3] New package: fflas_ffpack-2.4.3

---
 srcpkgs/fflas_ffpack/template | 24 ++++++++++++++++++++++++
 1 file changed, 24 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..76311c86e835
--- /dev/null
+++ b/srcpkgs/fflas_ffpack/template
@@ -0,0 +1,24 @@
+# Template file for 'fflas_ffpack'
+pkgname=fflas_ffpack
+version=2.4.3
+revision=1
+build_style=gnu-configure
+hostmakedepends="pkg-config"
+makedepends="givaro-devel openblas-devel"
+depends="${makedepends}"
+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/${version}/fflas_ffpack-${version}.tar.bz2"
+checksum=d4ecfc6289c7077185ed5e58fa77d07fdb034c1a74385366566226a4887c50c3
+nocross=yes
+
+build_options="native_build"
+
+if [ -z "$build_option_native_build" ]; 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 70ab5fdc4a1b036a5388e4f43669e74bf2fd26cd 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 3/3] New package: linbox-1.6.3

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

diff --git a/common/shlibs b/common/shlibs
index 75fbf05437b3..90eacdee64d1 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3992,6 +3992,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
 libpari-gmp-tls.so.7 pari-2.13.2_1
 libtree-sitter.so.0 tree-sitter-0.19.0_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..45f62650388c
--- /dev/null
+++ b/srcpkgs/linbox/template
@@ -0,0 +1,45 @@
+# 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_build"
+
+if [ -z "$build_option_native_build" ]; 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="${sourcepkg}>=${version}_${revision} ${makedepends}"
+	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
+	}
+}

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

* Re: [PR PATCH] [Updated] Math packages: givaro, fflas-ffpack, linbox
  2021-04-04 15:18 [PR PATCH] Several math libraries tornaria
                   ` (14 preceding siblings ...)
  2021-09-17 14:07 ` tornaria
@ 2021-09-17 15:30 ` tornaria
  2021-09-17 15:33 ` tornaria
                   ` (3 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: tornaria @ 2021-09-17 15:30 UTC (permalink / raw)
  To: ml

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

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

https://github.com/tornaria/void-packages math1
https://github.com/void-linux/void-packages/pull/29997

Math packages: givaro, fflas-ffpack, linbox
<!-- 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: `givaro`, `fflas-ffpack`, `linbox`.
- Everything is tested and check pass in x86_64, x86_64-musl, i686.
- Except `gf2x`, everything is nocross.
- I tried to make sure everything works with baseline x86_64 as defined [here](https://en.wikipedia.org/wiki/X86-64#Microarchitecture_Levels), essentially it means SSE2 is ok, but SSE3 is not.
- I added a general option `native`, which defaults to off. When turned on, it will let the libraries compile for the build machine which often results in significant improvements.

EDIT: split in smaller independent PR to ease review

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

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

From b7a2192d02d884fb2cc2b798fdb681fb04e2c65f 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 1/3] New package: givaro-4.1.1

---
 common/shlibs           |  1 +
 srcpkgs/givaro-devel    |  1 +
 srcpkgs/givaro/template | 37 +++++++++++++++++++++++++++++++++++++
 3 files changed, 39 insertions(+)
 create mode 120000 srcpkgs/givaro-devel
 create mode 100644 srcpkgs/givaro/template

diff --git a/common/shlibs b/common/shlibs
index 840fbc0b9a9f..75fbf05437b3 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3991,6 +3991,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
 libpari-gmp-tls.so.7 pari-2.13.2_1
 libtree-sitter.so.0 tree-sitter-0.19.0_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..9c16de5b1974
--- /dev/null
+++ b/srcpkgs/givaro/template
@@ -0,0 +1,37 @@
+# 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="https://github.com/linbox-team/givaro/releases/download/v${version}/givaro-${version}.tar.gz"
+checksum=628049899386e91da245aee6cd446350fbca87e94863bc0d815066c08150487f
+nocross=yes
+
+build_options="native_build"
+
+if [ -z "$build_option_native_build" ]; 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="${sourcepkg}>=${version}_${revision} ${makedepends}"
+	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 c7188b4f5a96384f41799553f7b2ab95089da22f 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 2/3] New package: fflas-ffpack-2.4.3

---
 srcpkgs/fflas-ffpack/template | 24 ++++++++++++++++++++++++
 1 file changed, 24 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..557c644c00a4
--- /dev/null
+++ b/srcpkgs/fflas-ffpack/template
@@ -0,0 +1,24 @@
+# Template file for 'fflas-ffpack'
+pkgname=fflas-ffpack
+version=2.4.3
+revision=1
+build_style=gnu-configure
+hostmakedepends="pkg-config"
+makedepends="givaro-devel openblas-devel"
+depends="${makedepends}"
+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/${version}/fflas-ffpack-${version}.tar.gz"
+checksum=f372783a17a9899ee9f88d4c9421d80facccb95556146dad7020d07a03791cc9
+nocross=yes
+
+build_options="native_build"
+
+if [ -z "$build_option_native_build" ]; 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 4fdf8204625e2145299cb97260b48767e29b80be 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 3/3] New package: linbox-1.6.3

---
 common/shlibs                                 |  1 +
 srcpkgs/linbox-devel                          |  1 +
 ...8adade10641f1f04f04b589753d928fb5443.patch | 35 +++++++++++++++++++
 srcpkgs/linbox/template                       | 35 +++++++++++++++++++
 4 files changed, 72 insertions(+)
 create mode 120000 srcpkgs/linbox-devel
 create mode 100644 srcpkgs/linbox/patches/892f8adade10641f1f04f04b589753d928fb5443.patch
 create mode 100644 srcpkgs/linbox/template

diff --git a/common/shlibs b/common/shlibs
index 75fbf05437b3..90eacdee64d1 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3992,6 +3992,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
 libpari-gmp-tls.so.7 pari-2.13.2_1
 libtree-sitter.so.0 tree-sitter-0.19.0_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/patches/892f8adade10641f1f04f04b589753d928fb5443.patch b/srcpkgs/linbox/patches/892f8adade10641f1f04f04b589753d928fb5443.patch
new file mode 100644
index 000000000000..5afa078ec7b8
--- /dev/null
+++ b/srcpkgs/linbox/patches/892f8adade10641f1f04f04b589753d928fb5443.patch
@@ -0,0 +1,35 @@
+From 892f8adade10641f1f04f04b589753d928fb5443 Mon Sep 17 00:00:00 2001
+From: Doug Torrance <dtorrance@piedmont.edu>
+Date: Sun, 9 May 2021 12:14:19 -0400
+Subject: [PATCH] Use std::ptrdiff_t for vector iterator difference type
+
+It was previously long (64-bit integers), but this will not be the
+case on 32-bit systems.
+
+Closes: #273
+---
+ linbox/vector/bit-vector.inl | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/linbox/vector/bit-vector.inl b/linbox/vector/bit-vector.inl
+index 5fa84b421..23a22ba47 100644
+--- a/linbox/vector/bit-vector.inl
++++ b/linbox/vector/bit-vector.inl
+@@ -46,7 +46,7 @@ namespace std
+ 		typedef LinBox::BitVector::reference reference;
+ 		typedef bool *pointer;
+ 		typedef bool value_type;
+-		typedef long difference_type;
++		typedef std::ptrdiff_t difference_type;
+ 	};
+ 
+ 	template <>
+@@ -56,7 +56,7 @@ namespace std
+ 		typedef LinBox::BitVector::const_reference reference;
+ 		typedef const bool *pointer;
+ 		typedef bool value_type;
+-		typedef long difference_type;
++		typedef std::ptrdiff_t difference_type;
+ 	};
+ }
+ 
diff --git a/srcpkgs/linbox/template b/srcpkgs/linbox/template
new file mode 100644
index 000000000000..3ea51f5dcce1
--- /dev/null
+++ b/srcpkgs/linbox/template
@@ -0,0 +1,35 @@
+# 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_build"
+
+if [ -z "$build_option_native_build" ]; then
+	configure_args="--enable-sse --enable-sse2
+	  --disable-sse3 --disable-ssse3 --disable-sse41 --disable-sse42
+	  --disable-avx --disable-avx2 --disable-fma --disable-fma4"
+fi
+
+linbox-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/lib/pkgconfig
+		vmove usr/bin
+		vmove usr/share
+	}
+}

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

* Re: Math packages: givaro, fflas-ffpack, linbox
  2021-04-04 15:18 [PR PATCH] Several math libraries tornaria
                   ` (15 preceding siblings ...)
  2021-09-17 15:30 ` tornaria
@ 2021-09-17 15:33 ` tornaria
  2021-09-17 21:23 ` tornaria
                   ` (2 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: tornaria @ 2021-09-17 15:33 UTC (permalink / raw)
  To: ml

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

New comment by tornaria on void-packages repository

https://github.com/void-linux/void-packages/pull/29997#issuecomment-921890318

Comment:
Latest changes:
- renamed `fflas_ffpack` to `fflas-ffpack` since that is the right package name (the tar.bz2 has the wrong name but the tar.gz has the correct one).
- added a patch from https://github.com/linbox-team/linbox/pull/274 which fixes a bug on i686; formerly we disabled a particular test for arch=i686 due to this, but now all tests pass.

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

* Re: Math packages: givaro, fflas-ffpack, linbox
  2021-04-04 15:18 [PR PATCH] Several math libraries tornaria
                   ` (16 preceding siblings ...)
  2021-09-17 15:33 ` tornaria
@ 2021-09-17 21:23 ` tornaria
  2021-10-29 15:17 ` dkwo
  2021-10-30 19:25 ` [PR PATCH] [Merged]: " ericonr
  19 siblings, 0 replies; 21+ messages in thread
From: tornaria @ 2021-09-17 21:23 UTC (permalink / raw)
  To: ml

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

New comment by tornaria on void-packages repository

https://github.com/void-linux/void-packages/pull/29997#issuecomment-922089608

Comment:
@ericonr: let's do math stuff one at a time. I propose to start with this one which is the older one I've got. I think I applied all the style changes you told me in #30032.

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

* Re: Math packages: givaro, fflas-ffpack, linbox
  2021-04-04 15:18 [PR PATCH] Several math libraries tornaria
                   ` (17 preceding siblings ...)
  2021-09-17 21:23 ` tornaria
@ 2021-10-29 15:17 ` dkwo
  2021-10-30 19:25 ` [PR PATCH] [Merged]: " ericonr
  19 siblings, 0 replies; 21+ messages in thread
From: dkwo @ 2021-10-29 15:17 UTC (permalink / raw)
  To: ml

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

New comment by dkwo on void-packages repository

https://github.com/void-linux/void-packages/pull/29997#issuecomment-954826781

Comment:
@ericonr Do you think we can merge some of the Math packages PR, starting from this perhaps? otherwise, rebasing them can be a bit tiring exercise.

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

* Re: [PR PATCH] [Merged]: Math packages: givaro, fflas-ffpack, linbox
  2021-04-04 15:18 [PR PATCH] Several math libraries tornaria
                   ` (18 preceding siblings ...)
  2021-10-29 15:17 ` dkwo
@ 2021-10-30 19:25 ` ericonr
  19 siblings, 0 replies; 21+ messages in thread
From: ericonr @ 2021-10-30 19:25 UTC (permalink / raw)
  To: ml

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

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

Math packages: givaro, fflas-ffpack, linbox
https://github.com/void-linux/void-packages/pull/29997

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: `givaro`, `fflas-ffpack`, `linbox`.
- Everything is tested and check pass in x86_64, x86_64-musl, i686.
- Except `gf2x`, everything is nocross.
- I tried to make sure everything works with baseline x86_64 as defined [here](https://en.wikipedia.org/wiki/X86-64#Microarchitecture_Levels), essentially it means SSE2 is ok, but SSE3 is not.
- I added a general option `native`, which defaults to off. When turned on, it will let the libraries compile for the build machine which often results in significant improvements.

EDIT: split in smaller independent PR to ease review

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

end of thread, other threads:[~2021-10-30 19:25 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-04 15:18 [PR PATCH] Several math libraries tornaria
2021-04-04 17:41 ` dkwo
2021-04-04 23:33 ` [PR PATCH] [Updated] " tornaria
2021-04-04 23:36 ` tornaria
2021-04-06  4:57 ` [PR PATCH] [Updated] " tornaria
2021-04-07 12:52 ` Math packages: givaro, fflas-ffpack, linbox dkwo
2021-04-07 17:24 ` [PR REVIEW] " Chocimier
2021-04-07 17:43 ` ericonr
2021-04-07 17:45 ` Chocimier
2021-04-07 17:54 ` tornaria
2021-04-07 17:55 ` tornaria
2021-08-19  7:56 ` dkwo
2021-08-19 14:01 ` [PR PATCH] [Updated] " tornaria
2021-08-19 15:04 ` tornaria
2021-09-17 13:42 ` [PR PATCH] [Updated] " tornaria
2021-09-17 14:07 ` tornaria
2021-09-17 15:30 ` tornaria
2021-09-17 15:33 ` tornaria
2021-09-17 21:23 ` tornaria
2021-10-29 15:17 ` dkwo
2021-10-30 19:25 ` [PR PATCH] [Merged]: " 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).