Github messages for voidlinux
 help / color / mirror / Atom feed
From: tornaria <tornaria@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] pari: update to 2.13.2.
Date: Wed, 11 Aug 2021 23:22:44 +0200	[thread overview]
Message-ID: <20210811212244.TjBSTCYCSDAU_SXssiOxYsBgU8B4f96H6mhl4EMc7Kw@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-32453@inbox.vuxu.org>

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

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

https://github.com/tornaria/void-packages pari
https://github.com/void-linux/void-packages/pull/32453

pari: update to 2.13.2.
- enable pthreads build
- switch gp binary to static link libpari; this offsets the slowdown due to pthreads
- ship the static library, so external programs can static link

Rationale:
- pthreads gives an interesting functionality, and recent versions of giac require pari with tls; sagemath requires pari with pthreads.
- The cost for enabling pthreads is quite high, on the order of 30-40% for some tests; -flto saves maybe 1-2% at most.
- On the other hand, switching to static binary yields some savings on the order of 5-10%
- More important: the cost of enabling pthread with -flto for a static binary is only about 5-10%
- In summary: enabling pthread while switching to static is roughly the same speed as current binary, with an interesting feature (esp. if one has many cores) and apparently better compatibility.
- Shipping static library as well is easy and allows for external code linking to the static library.

@sgn: if you agree, I am willing to take over maintainership. I have used pari for 25+ years, and I use it almost daily.

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

#### 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


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

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

From 0392db0e0f979b78a6499c19668a3e8c613b17b4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 10 Aug 2021 19:56:34 -0300
Subject: [PATCH 1/3] pari: update to 2.13.2.

- enable pthreads build
- switch gp binary to static link libpari; this offsets the slowdown due
  to pthreads
- use -flto and -fno-semantic-interposition which improve speed a little
  bit more
- ship the static library, so external programs can static link
- change of maintainer agreed by sgn
---
 common/shlibs         |  2 +-
 srcpkgs/pari/template | 18 ++++++++++++------
 2 files changed, 13 insertions(+), 7 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index 278d2456072f..8045f19a3abf 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3980,7 +3980,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
-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
 libgtkdatabox.so.1 gtkdatabox3-1.0.0_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/pari/template b/srcpkgs/pari/template
index 8e2a415913ba..5108979f2302 100644
--- a/srcpkgs/pari/template
+++ b/srcpkgs/pari/template
@@ -1,24 +1,29 @@
 # Template file for 'pari'
 pkgname=pari
-version=2.13.1
+version=2.13.2
 revision=1
 build_style=configure
 build_helper=qemu
 configure_script=./Configure
-configure_args="--prefix=/usr"
+configure_args="--prefix=/usr $(vopt_if pthreads --mt=pthread)"
 make_build_target=all
 make_check_target=test-all
+make_install_target="install install-bin-sta install-lib-sta"
 hostmakedepends="perl texlive"
 makedepends="gmp-devel readline-devel $(vopt_if x11 libX11-devel)"
 short_desc="Fast computations library in number theory"
-maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="GPL-2.0-or-later"
 homepage="https://pari.math.u-bordeaux.fr"
 distfiles="https://pari.math.u-bordeaux.fr/pub/pari/unix/${pkgname}-${version}.tar.gz"
-checksum=81ecf7d70ccdaae230165cff627c9ce2ec297b8f22f9f40742279d85f86dfcb1
+checksum=1679985094a0b723d14f49aa891dbe5ec967aa4040050a2c50bd764ddb3eba24
 
-build_options="x11"
-build_options_default="x11"
+build_options="x11 pthreads"
+build_options_default="x11 pthreads"
+desc_option_pthreads="Enable support for pthreads"
+
+# reduce speed losses due to pthreads
+CFLAGS="-flto -fno-semantic-interposition"
 
 post_patch() {
 	# sse2 is not available on all i686
@@ -50,6 +55,7 @@ pari-devel_package() {
 	depends="pari>=${version}_${revision}"
 	pkg_install() {
 		vmove usr/include
+		vmove "usr/lib/*.a"
 		vmove "usr/lib/*.so"
 	}
 }

From 6ed1450b6d3c80a6e5f40fd6adf286e882c7667c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 11 Aug 2021 18:06:12 -0300
Subject: [PATCH 2/3] giac: revbump for pari

---
 srcpkgs/giac/patches/pari_2_13.patch | 13 +++++++++++++
 srcpkgs/giac/template                |  2 +-
 2 files changed, 14 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/giac/patches/pari_2_13.patch

diff --git a/srcpkgs/giac/patches/pari_2_13.patch b/srcpkgs/giac/patches/pari_2_13.patch
new file mode 100644
index 000000000000..3a9ddd9c1ae8
--- /dev/null
+++ b/srcpkgs/giac/patches/pari_2_13.patch
@@ -0,0 +1,13 @@
+change in order to pass chk_fhan4 with pari-2.13
+
+--- a/src/pari.cc	2019-11-21 13:40:55.000000000 +0000
++++ b/src/pari.cc	2021-08-11 20:51:39.243502400 +0000
+@@ -88,7 +88,7 @@
+   static map<string,entree *> pari_function_table;
+   static void do_giac_pari_init(long maxprime){
+ #ifdef PARI_DYNAMIC_STACK
+-    long pari_mem_size=512000;
++    long pari_mem_size=1024000;
+ #else
+     long pari_mem_size=64000000;
+ #endif
diff --git a/srcpkgs/giac/template b/srcpkgs/giac/template
index ca95534498f2..3689027daf17 100644
--- a/srcpkgs/giac/template
+++ b/srcpkgs/giac/template
@@ -1,7 +1,7 @@
 # Template file for 'giac'
 pkgname=giac
 version=1.5.0.87
-revision=4
+revision=5
 wrksrc="giac-${version%.*}"
 build_style=gnu-configure
 makedepends="fltk-devel gmp-devel gsl-devel lapack-devel

From 7fea4d78471b8d14d4691094288cf3c1632c3bbb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 11 Aug 2021 18:13:17 -0300
Subject: [PATCH 3/3] qcas: revbump for giac

---
 srcpkgs/qcas/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/qcas/template b/srcpkgs/qcas/template
index 6c6349022253..42ca9c5b1013 100644
--- a/srcpkgs/qcas/template
+++ b/srcpkgs/qcas/template
@@ -1,7 +1,7 @@
 # Template file for 'qcas'
 pkgname=qcas
 version=0.5.3
-revision=1
+revision=2
 build_style=qmake
 configure_args="qcas.pro"
 hostmakedepends="pkg-config qt5-qmake qt5-host-tools"

  parent reply	other threads:[~2021-08-11 21:22 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-11  1:45 [PR PATCH] " tornaria
2021-08-11  1:52 ` sgn
2021-08-11  3:12 ` ericonr
2021-08-11 17:12 ` tornaria
2021-08-11 17:21 ` tornaria
2021-08-11 21:22 ` tornaria [this message]
2021-08-12  0:09 ` ericonr
2021-08-13 13:41 ` [PR PATCH] [Updated] " tornaria
2021-08-13 15:21 ` tornaria
2021-08-14  0:44 ` [PR REVIEW] " ericonr
2021-08-14  0:44 ` ericonr
2021-08-14  0:45 ` ericonr
2021-08-14  0:45 ` ericonr
2021-08-14 17:52 ` tornaria
2021-08-14 17:55 ` tornaria
2021-08-14 17:57 ` tornaria
2021-08-14 20:29 ` ericonr
2021-08-14 23:06 ` [PR PATCH] [Updated] " tornaria
2021-08-14 23:08 ` [PR REVIEW] " tornaria
2021-08-14 23:09 ` tornaria
2021-08-14 23:10 ` tornaria
2021-08-15  3:47 ` ericonr
2021-08-15  3:48 ` [PR PATCH] [Merged]: " ericonr

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210811212244.TjBSTCYCSDAU_SXssiOxYsBgU8B4f96H6mhl4EMc7Kw@z \
    --to=tornaria@users.noreply.github.com \
    --cc=ml@inbox.vuxu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).