[-- 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" + } +}
[-- 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.
[-- 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" + } +}
[-- 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`.
[-- 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" + } +}
[-- 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.
[-- 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.
[-- 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
[-- 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
[-- 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 ```
[-- 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 ```
[-- 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 ;)
[-- 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 + } +}
[-- 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.
[-- 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 + } +}
[-- 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 + } +}
[-- 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 + } +}
[-- 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.
[-- 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.
[-- 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.
[-- 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