Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] pari: update to 2.13.2.
@ 2021-08-11  1:45 tornaria
  2021-08-11  1:52 ` sgn
                   ` (21 more replies)
  0 siblings, 22 replies; 23+ messages in thread
From: tornaria @ 2021-08-11  1:45 UTC (permalink / raw)
  To: ml

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

There is a new 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: 2597 bytes --]

From cbc5f9ab95141fbd31171ae8e0fea33d5bab28ac 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] 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
---
 common/shlibs         |  2 +-
 srcpkgs/pari/template | 18 +++++++++++++-----
 2 files changed, 14 insertions(+), 6 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..aa7c1a53fabb 100644
--- a/srcpkgs/pari/template
+++ b/srcpkgs/pari/template
@@ -1,13 +1,14 @@
 # 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"
@@ -15,10 +16,16 @@ maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"
 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"
+
+if [ "$build_option_pthreads" ] ; then
+	# reduce speed losses due to pthreads
+	CFLAGS=-flto
+fi
 
 post_patch() {
 	# sse2 is not available on all i686
@@ -50,6 +57,7 @@ pari-devel_package() {
 	depends="pari>=${version}_${revision}"
 	pkg_install() {
 		vmove usr/include
+		vmove "usr/lib/*.a"
 		vmove "usr/lib/*.so"
 	}
 }

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

* Re: pari: update to 2.13.2.
  2021-08-11  1:45 [PR PATCH] pari: update to 2.13.2 tornaria
@ 2021-08-11  1:52 ` sgn
  2021-08-11  3:12 ` ericonr
                   ` (20 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: sgn @ 2021-08-11  1:52 UTC (permalink / raw)
  To: ml

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

New comment by sgn on void-packages repository

https://github.com/void-linux/void-packages/pull/32453#issuecomment-896437381

Comment:
The package is yours.

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

* Re: pari: update to 2.13.2.
  2021-08-11  1:45 [PR PATCH] pari: update to 2.13.2 tornaria
  2021-08-11  1:52 ` sgn
@ 2021-08-11  3:12 ` ericonr
  2021-08-11 17:12 ` tornaria
                   ` (19 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: ericonr @ 2021-08-11  3:12 UTC (permalink / raw)
  To: ml

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

New comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/32453#issuecomment-896466569

Comment:
> switch gp binary to static link libpari; this offsets the slowdown due to pthreads

Can you try the `-fno-semantic-interposition` compiler argument? Python has started using it for libpython for similar performance gains. I think it might allow us to keep the space gain of dynamic linking and the speed gain of static linking.

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

* Re: pari: update to 2.13.2.
  2021-08-11  1:45 [PR PATCH] pari: update to 2.13.2 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
                   ` (18 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: tornaria @ 2021-08-11 17:12 UTC (permalink / raw)
  To: ml

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

New comment by tornaria on void-packages repository

https://github.com/void-linux/void-packages/pull/32453#issuecomment-897002429

Comment:
> Can you try the `-fno-semantic-interposition` compiler argument? Python has started using it for libpython for similar performance gains. I think it might allow us to keep the space gain of dynamic linking and the speed gain of static linking.

A quick informal test shows that while adding that option improves the dynamic binary a bit, it's not close to recovering what is lost from pthreads. Running the script below with the current version in the repos (no pthreads, no CFLAGS):
```
$ gp -q regress-best5.gp
4470 4491 4500 4532 4509   best=4470
```

Now with the new version, enabling pthreads:
- CFLAGS=""
gp-dyn: 5970 6000 6006 6010 6020   best=5970
gp-sta: 4219 4280 4210 4154 4203   best=4154

- CFLAGS="-flto"
gp-dyn: 6226 6168 6145 6196 6095   best=6095
gp-sta: 4166 4045 4028 4010 4013   best=4010

- CFLAGS="-flto -fno-semantic-interposition"
gp-dyn: 5669 5680 5702 5686 5628   best=5628
gp-sta: 3900 3934 4050 3921 3963   best=3900

So for this particular test, there's a 40% loss by going dynamic with `-fno-semantic-interposition` instead of 50% loss without. 

Note that we are NOT static linking system libraries. It's only `libpari` that is statically linked into the `gp` instead of being dynamically linked.

---




- regress-best_of_5.gp
```
sigmatwist1(n,k)=
{
   if(denominator(n)>1||n<=0,return(0));
   n>>=valuation(n,2);
   sumdiv(n,d,if(d%4==1,d^k,-d^k));
}

sumtwist1(k,m,N)=
{
   sigmatwist1(m/N,k-1)+2*sum(s=1,sqrtint(m),sigmatwist1((m-s^2)/N,k-1));
}

a={vector(5,i,
  gettime();
  sumtwist1(3,(10^12+4)/4,1);
  t=gettime();
  print1(t," ");
  t)};
  print("  best=",vecmin(a));
\q
```

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

* Re: pari: update to 2.13.2.
  2021-08-11  1:45 [PR PATCH] pari: update to 2.13.2 tornaria
                   ` (2 preceding siblings ...)
  2021-08-11 17:12 ` tornaria
@ 2021-08-11 17:21 ` tornaria
  2021-08-11 21:22 ` [PR PATCH] [Updated] " tornaria
                   ` (17 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: tornaria @ 2021-08-11 17:21 UTC (permalink / raw)
  To: ml

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

New comment by tornaria on void-packages repository

https://github.com/void-linux/void-packages/pull/32453#issuecomment-897008039

Comment:
Failures are due to a dependant package (giac) which is affected since the soname changed (because of the switch to pthreads).

I'll deal with that, and maybe take the chance to upgrade giac.

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

* Re: [PR PATCH] [Updated] pari: update to 2.13.2.
  2021-08-11  1:45 [PR PATCH] pari: update to 2.13.2 tornaria
                   ` (3 preceding siblings ...)
  2021-08-11 17:21 ` tornaria
@ 2021-08-11 21:22 ` tornaria
  2021-08-12  0:09 ` ericonr
                   ` (16 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: tornaria @ 2021-08-11 21:22 UTC (permalink / raw)
  To: ml

[-- 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"

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

* Re: pari: update to 2.13.2.
  2021-08-11  1:45 [PR PATCH] pari: update to 2.13.2 tornaria
                   ` (4 preceding siblings ...)
  2021-08-11 21:22 ` [PR PATCH] [Updated] " tornaria
@ 2021-08-12  0:09 ` ericonr
  2021-08-13 13:41 ` [PR PATCH] [Updated] " tornaria
                   ` (15 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: ericonr @ 2021-08-12  0:09 UTC (permalink / raw)
  To: ml

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

New comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/32453#issuecomment-897243444

Comment:
I think linking it in statically is valid. Quite unfortunate that the flag wasn't enough, but it might be more pronounced on python than on gp, especially if the binary makes lots of calls to the library instead of a single call and now the rest runs inside the library.

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

* Re: [PR PATCH] [Updated] pari: update to 2.13.2.
  2021-08-11  1:45 [PR PATCH] pari: update to 2.13.2 tornaria
                   ` (5 preceding siblings ...)
  2021-08-12  0:09 ` ericonr
@ 2021-08-13 13:41 ` tornaria
  2021-08-13 15:21 ` tornaria
                   ` (14 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: tornaria @ 2021-08-13 13:41 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1861 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
- 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
- revbump giac and qcas

**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, `-fno-semantic-interposition` saves 5-7%, but we are still about 25-30% behind.
- 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 (even maybe 5-10% better overall) 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: 5145 bytes --]

From 8c2fbeb27fa454b0d6673a4ee7e12099c645efd7 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 f96d3f36b3ae..126b96409a8a 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 a76a0fdd1f1ef752f78086f77a8ad5da94eb3967 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 b2723678916f6c2d56fd4447c29e3cd09a645ffb 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 | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/qcas/template b/srcpkgs/qcas/template
index 6c6349022253..c6325d0c962f 100644
--- a/srcpkgs/qcas/template
+++ b/srcpkgs/qcas/template
@@ -1,13 +1,13 @@
 # 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"
 makedepends="giac-devel qt5-svg-devel"
 depends="desktop-file-utils giac"
-short_desc="The QT frontend to Giac/Xcas"
+short_desc="QT frontend to Giac/Xcas"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="http://webusers.imj-prg.fr/~frederic.han/qcas/"

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

* Re: pari: update to 2.13.2.
  2021-08-11  1:45 [PR PATCH] pari: update to 2.13.2 tornaria
                   ` (6 preceding siblings ...)
  2021-08-13 13:41 ` [PR PATCH] [Updated] " tornaria
@ 2021-08-13 15:21 ` tornaria
  2021-08-14  0:44 ` [PR REVIEW] " ericonr
                   ` (13 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: tornaria @ 2021-08-13 15:21 UTC (permalink / raw)
  To: ml

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

New comment by tornaria on void-packages repository

https://github.com/void-linux/void-packages/pull/32453#issuecomment-898539170

Comment:
All tests are ok, except on aarch64 and aarch64-musl it's trying to build qt5, which is a dependency of qcas.

I think pari and giac are built ok before that, so I'd take this as check ok for all architectures.

I didn't change qcas at all, only revbumped and fix a xlint in the short_desc. As a matter of fact, the current version of qcas in the repos is already broken before me changing pari due to a missing symbol; maybe no one uses qcas (I don't). Anyway after this PR it works at least on x86-64 so it's definitely an improvement.

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

* Re: [PR REVIEW] pari: update to 2.13.2.
  2021-08-11  1:45 [PR PATCH] pari: update to 2.13.2 tornaria
                   ` (7 preceding siblings ...)
  2021-08-13 15:21 ` tornaria
@ 2021-08-14  0:44 ` ericonr
  2021-08-14  0:44 ` ericonr
                   ` (12 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: ericonr @ 2021-08-14  0:44 UTC (permalink / raw)
  To: ml

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

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/32453#discussion_r688838422

Comment:
Please try to upstream this ;)

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

* Re: [PR REVIEW] pari: update to 2.13.2.
  2021-08-11  1:45 [PR PATCH] pari: update to 2.13.2 tornaria
                   ` (8 preceding siblings ...)
  2021-08-14  0:44 ` [PR REVIEW] " ericonr
@ 2021-08-14  0:44 ` ericonr
  2021-08-14  0:45 ` ericonr
                   ` (11 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: ericonr @ 2021-08-14  0:44 UTC (permalink / raw)
  To: ml

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

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/32453#discussion_r688838787

Comment:
It seems to be running a compiler in the install steps, probably because of `install-bin-sta` and `install-lib-sta`. Maybe add targets to `make_build_target` so everything happens in `do_build`?

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

* Re: [PR REVIEW] pari: update to 2.13.2.
  2021-08-11  1:45 [PR PATCH] pari: update to 2.13.2 tornaria
                   ` (9 preceding siblings ...)
  2021-08-14  0:44 ` ericonr
@ 2021-08-14  0:45 ` ericonr
  2021-08-14  0:45 ` ericonr
                   ` (10 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: ericonr @ 2021-08-14  0:45 UTC (permalink / raw)
  To: ml

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

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/32453#discussion_r688838954

Comment:
Don't you kind of need both versions here, since it can be built without `pthreads`?

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

* Re: [PR REVIEW] pari: update to 2.13.2.
  2021-08-11  1:45 [PR PATCH] pari: update to 2.13.2 tornaria
                   ` (10 preceding siblings ...)
  2021-08-14  0:45 ` ericonr
@ 2021-08-14  0:45 ` ericonr
  2021-08-14 17:52 ` tornaria
                   ` (9 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: ericonr @ 2021-08-14  0:45 UTC (permalink / raw)
  To: ml

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

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/32453#discussion_r688839026

Comment:
Alternatively, completely remove the build option and force pthreads always :p

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

* Re: [PR REVIEW] pari: update to 2.13.2.
  2021-08-11  1:45 [PR PATCH] pari: update to 2.13.2 tornaria
                   ` (11 preceding siblings ...)
  2021-08-14  0:45 ` ericonr
@ 2021-08-14 17:52 ` tornaria
  2021-08-14 17:55 ` tornaria
                   ` (8 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: tornaria @ 2021-08-14 17:52 UTC (permalink / raw)
  To: ml

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

New review comment by tornaria on void-packages repository

https://github.com/void-linux/void-packages/pull/32453#discussion_r688974206

Comment:
This is already in upstream. I'm working on an update of giac to 1.7.0-25 which won't need this patch.

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

* Re: [PR REVIEW] pari: update to 2.13.2.
  2021-08-11  1:45 [PR PATCH] pari: update to 2.13.2 tornaria
                   ` (12 preceding siblings ...)
  2021-08-14 17:52 ` tornaria
@ 2021-08-14 17:55 ` tornaria
  2021-08-14 17:57 ` tornaria
                   ` (7 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: tornaria @ 2021-08-14 17:55 UTC (permalink / raw)
  To: ml

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

New review comment by tornaria on void-packages repository

https://github.com/void-linux/void-packages/pull/32453#discussion_r688974530

Comment:
I tried, but they don't seem to have compile targets for that, only install targets. If I'm not mistaken it's not compiling anything, just linking  (it takes a long time because of -flto).

If this is really important, I think I can easily patch the makefile to add compile targets for the static binary and library.

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

* Re: [PR REVIEW] pari: update to 2.13.2.
  2021-08-11  1:45 [PR PATCH] pari: update to 2.13.2 tornaria
                   ` (13 preceding siblings ...)
  2021-08-14 17:55 ` tornaria
@ 2021-08-14 17:57 ` tornaria
  2021-08-14 20:29 ` ericonr
                   ` (6 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: tornaria @ 2021-08-14 17:57 UTC (permalink / raw)
  To: ml

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

New review comment by tornaria on void-packages repository

https://github.com/void-linux/void-packages/pull/32453#discussion_r688974672

Comment:
You are right, I will fix that.

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

* Re: [PR REVIEW] pari: update to 2.13.2.
  2021-08-11  1:45 [PR PATCH] pari: update to 2.13.2 tornaria
                   ` (14 preceding siblings ...)
  2021-08-14 17:57 ` tornaria
@ 2021-08-14 20:29 ` ericonr
  2021-08-14 23:06 ` [PR PATCH] [Updated] " tornaria
                   ` (5 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: ericonr @ 2021-08-14 20:29 UTC (permalink / raw)
  To: ml

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

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/32453#discussion_r688988612

Comment:
Not super important, but would be nice to achieve upstream, if you can :)

Since it's using a configure build style, we don't need to pass args to make and it has a smaller chance of breaking, but it would be nice to confine building to `do_build`.

From what I see in https://pari.math.u-bordeaux.fr/cgi-bin/gitweb.cgi?p=pari.git;a=blob;f=config/Makefile.SH;h=ca8bbf31a718c39abc6450c38aa176f6b157738f;hb=HEAD , you might be able to do `make_build_target="all lib-sta lib-dyn gp-sta"`.

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

* Re: [PR PATCH] [Updated] pari: update to 2.13.2.
  2021-08-11  1:45 [PR PATCH] pari: update to 2.13.2 tornaria
                   ` (15 preceding siblings ...)
  2021-08-14 20:29 ` ericonr
@ 2021-08-14 23:06 ` tornaria
  2021-08-14 23:08 ` [PR REVIEW] " tornaria
                   ` (4 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: tornaria @ 2021-08-14 23:06 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1861 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
- 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
- revbump giac and qcas

**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, `-fno-semantic-interposition` saves 5-7%, but we are still about 25-30% behind.
- 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 (even maybe 5-10% better overall) 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: 7296 bytes --]

From c602068c1ccbb293b6d632aaaafc73372d359927 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

I had to add a minimal patch to the makefile, so that the build step
builds and the install step installs. I will try to upstream that patch.
---
 common/shlibs                       |  1 +
 srcpkgs/pari/patches/makefile.patch | 36 +++++++++++++++++++++++++++++
 srcpkgs/pari/template               | 22 +++++++++++-------
 3 files changed, 51 insertions(+), 8 deletions(-)
 create mode 100644 srcpkgs/pari/patches/makefile.patch

diff --git a/common/shlibs b/common/shlibs
index f96d3f36b3ae..301649ded872 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3981,6 +3981,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
 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/patches/makefile.patch b/srcpkgs/pari/patches/makefile.patch
new file mode 100644
index 000000000000..ec1db15a78c4
--- /dev/null
+++ b/srcpkgs/pari/patches/makefile.patch
@@ -0,0 +1,36 @@
+Add targets to main makefile:
+ - gp-dyn
+ - gp-sta
+ - lib-dyn
+ - lib-sta
+ - install-lib-dyn
+ - install-bin-dyn
+
+Also: define a .NOTPARALLEL target so that top targets are not run in parallel.
+
+Otherwise, running several targets with -j is broken.
+
+Examples:
+
+1. "make -j8 gp lib-sta lib-dyn" fails once in a while
+
+2. "make -j8 doc docpdf" fails every time
+
+With .NOTPARALLEL, both seem to work reliably.
+
+Reference:
+https://www.gnu.org/software/make/manual/html_node/Special-Targets.html#Special-Targets
+
+--- pari-2.13.2.orig/config/TOP_Make.SH	2020-10-26 09:43:04.000000000 -0300
++++ pari-2.13.2/config/TOP_Make.SH	2021-08-14 15:28:04.052670019 -0300
+@@ -42,7 +42,9 @@
+ 	@\$(MAKE) gp
+ 	@-cd doc && \$(MAKE) doc
++
++.NOTPARALLEL:
+ 
+-gp bench test-kernel test-all install cleanall cleanobj cleantest nsis link-data install-bin install-doc install-docpdf install-nodata install-data install-lib-sta install-bin-sta dobench dyntest-all statest-all tune $top_test_extra $top_dotest_extra::
++gp gp-dyn gp-sta lib-dyn lib-sta bench test-kernel test-all install cleanall cleanobj cleantest nsis link-data install-bin install-doc install-docpdf install-nodata install-data install-lib-dyn install-lib-sta install-bin-dyn install-bin-sta dobench dyntest-all statest-all tune $top_test_extra $top_dotest_extra::
+ 	@dir=\`config/objdir\`; echo "Making \$@ in \$\$dir";\\
+ 	 if test ! -d \$\$dir; then echo "Please run Configure first!"; exit 1; fi;\\
+ 	cd \$\$dir && \$(MAKE) \$@
diff --git a/srcpkgs/pari/template b/srcpkgs/pari/template
index 8e2a415913ba..4f2a2cbef9b7 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"
-make_build_target=all
-make_check_target=test-all
+configure_args="--prefix=/usr $(vopt_if pthreads --mt=pthread) -s"
+make_build_target="gp lib-sta lib-dyn doc"
+make_check_target=statest-all
+make_install_target="install install-lib-sta install-lib-dyn"
 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 aa5b955cacc07ffd298716b3559360c3ac9a5933 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 | 16 ++++++++++++++++
 srcpkgs/giac/template                |  2 +-
 2 files changed, 17 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..85ee3aca0a2c
--- /dev/null
+++ b/srcpkgs/giac/patches/pari_2_13.patch
@@ -0,0 +1,16 @@
+change in order to pass chk_fhan4 with pari-2.13
+
+This patch is already upstream in giac > 1.6 so it will be
+removed when we update giac.
+
+--- 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 b02aa1324268f51f592c2b520fddf2935ef06cb6 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 | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/qcas/template b/srcpkgs/qcas/template
index 6c6349022253..c6325d0c962f 100644
--- a/srcpkgs/qcas/template
+++ b/srcpkgs/qcas/template
@@ -1,13 +1,13 @@
 # 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"
 makedepends="giac-devel qt5-svg-devel"
 depends="desktop-file-utils giac"
-short_desc="The QT frontend to Giac/Xcas"
+short_desc="QT frontend to Giac/Xcas"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="http://webusers.imj-prg.fr/~frederic.han/qcas/"

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

* Re: [PR REVIEW] pari: update to 2.13.2.
  2021-08-11  1:45 [PR PATCH] pari: update to 2.13.2 tornaria
                   ` (16 preceding siblings ...)
  2021-08-14 23:06 ` [PR PATCH] [Updated] " tornaria
@ 2021-08-14 23:08 ` tornaria
  2021-08-14 23:09 ` tornaria
                   ` (3 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: tornaria @ 2021-08-14 23:08 UTC (permalink / raw)
  To: ml

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

New review comment by tornaria on void-packages repository

https://github.com/void-linux/void-packages/pull/32453#discussion_r689002426

Comment:
I had to patch the makefile so I don't to need to change `do_build()`. I will try to upstream that patch.

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

* Re: [PR REVIEW] pari: update to 2.13.2.
  2021-08-11  1:45 [PR PATCH] pari: update to 2.13.2 tornaria
                   ` (17 preceding siblings ...)
  2021-08-14 23:08 ` [PR REVIEW] " tornaria
@ 2021-08-14 23:09 ` tornaria
  2021-08-14 23:10 ` tornaria
                   ` (2 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: tornaria @ 2021-08-14 23:09 UTC (permalink / raw)
  To: ml

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

New review comment by tornaria on void-packages repository

https://github.com/void-linux/void-packages/pull/32453#discussion_r689002535

Comment:
Added a note in the patch. We'll be removing that patch soon.

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

* Re: pari: update to 2.13.2.
  2021-08-11  1:45 [PR PATCH] pari: update to 2.13.2 tornaria
                   ` (18 preceding siblings ...)
  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
  21 siblings, 0 replies; 23+ messages in thread
From: tornaria @ 2021-08-14 23:10 UTC (permalink / raw)
  To: ml

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

New comment by tornaria on void-packages repository

https://github.com/void-linux/void-packages/pull/32453#issuecomment-898969320

Comment:
If all checks pass, then it's ready. Thanks a lot for your careful and constructive review.

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

* Re: pari: update to 2.13.2.
  2021-08-11  1:45 [PR PATCH] pari: update to 2.13.2 tornaria
                   ` (19 preceding siblings ...)
  2021-08-14 23:10 ` tornaria
@ 2021-08-15  3:47 ` ericonr
  2021-08-15  3:48 ` [PR PATCH] [Merged]: " ericonr
  21 siblings, 0 replies; 23+ messages in thread
From: ericonr @ 2021-08-15  3:47 UTC (permalink / raw)
  To: ml

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

New comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/32453#issuecomment-898991048

Comment:
aarch64 is just a tad stuck :p 

Thanks!

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

* Re: [PR PATCH] [Merged]: pari: update to 2.13.2.
  2021-08-11  1:45 [PR PATCH] pari: update to 2.13.2 tornaria
                   ` (20 preceding siblings ...)
  2021-08-15  3:47 ` ericonr
@ 2021-08-15  3:48 ` ericonr
  21 siblings, 0 replies; 23+ messages in thread
From: ericonr @ 2021-08-15  3:48 UTC (permalink / raw)
  To: ml

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

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

pari: update to 2.13.2.
https://github.com/void-linux/void-packages/pull/32453

Description:
- 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
- revbump giac and qcas

**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, `-fno-semantic-interposition` saves 5-7%, but we are still about 25-30% behind.
- 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 (even maybe 5-10% better overall) 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


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

end of thread, other threads:[~2021-08-15  3:48 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-11  1:45 [PR PATCH] pari: update to 2.13.2 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 ` [PR PATCH] [Updated] " tornaria
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

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