From bd09dec75e3edfce8b5b045d554cf0a95da2f307 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= Date: Mon, 19 Jun 2023 11:59:56 -0300 Subject: [PATCH] giac: update to 1.9.0.55. --- srcpkgs/giac/patches/fgamma.patch | 35 ++++++++++++++++------- srcpkgs/giac/patches/fix-1.9.0.55.patch | 31 ++++++++++++++++++++ srcpkgs/giac/patches/fix-chk_fhan0.patch | 15 ++++++++++ srcpkgs/giac/patches/fix-chk_fhan16.patch | 29 +++++++++++++++++++ srcpkgs/giac/patches/invmod.patch | 14 --------- srcpkgs/giac/patches/mallinfo.patch | 25 ++++++++++++++++ srcpkgs/giac/patches/malloc.patch | 11 ------- srcpkgs/giac/template | 4 +-- 8 files changed, 127 insertions(+), 37 deletions(-) create mode 100644 srcpkgs/giac/patches/fix-1.9.0.55.patch create mode 100644 srcpkgs/giac/patches/fix-chk_fhan0.patch create mode 100644 srcpkgs/giac/patches/fix-chk_fhan16.patch delete mode 100644 srcpkgs/giac/patches/invmod.patch create mode 100644 srcpkgs/giac/patches/mallinfo.patch delete mode 100644 srcpkgs/giac/patches/malloc.patch diff --git a/srcpkgs/giac/patches/fgamma.patch b/srcpkgs/giac/patches/fgamma.patch index 8cdc5fda88ac..67a927680415 100644 --- a/srcpkgs/giac/patches/fgamma.patch +++ b/srcpkgs/giac/patches/fgamma.patch @@ -1,11 +1,26 @@ ---- a/src/first.h 2017-09-22 20:44:12.000000000 +0200 -+++ b/src/first.h 2017-11-14 15:26:53.529711489 +0100 -@@ -503,7 +503,7 @@ - #if defined(__MINGW_H) || defined(VISUALC) || defined(FXCG)// FIXME gamma, not used - inline float fgamma(float f1){ return f1; } - #else --inline float fgamma(float f1){ return gammaf(f1); } // or tgammaf(f1) on some versions of emscripten -+inline float fgamma(float f1){ return tgammaf(f1); } // or tgammaf(f1) on some versions of emscripten - #endif +diff --git a/configure.ac b/configure.ac +index 99fa34e..a37f756 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -486,6 +486,8 @@ AC_CHECK_FUNCS(mallinfo) + AC_CHECK_FUNCS(sysconf) + AC_CHECK_LIB(rt,clock_gettime) + ++AC_CHECK_FUNCS(tgammaf) ++ + dnl Checking for hash_map + AC_CHECK_HEADER(unordered_map, AC_DEFINE(C11_UNORDERED_MAP,1, [Define if header is available])) + AC_CHECK_HEADER(ext/hash_map, AC_DEFINE(EXT_HASH_MAP,1, [Define if header is aviailable])) +diff --git a/src/first.h b/src/first.h +index 4b7aba0..17f1711 100644 +--- a/src/first.h ++++ b/src/first.h +@@ -564,7 +564,7 @@ inline float ffloor(float f1){ #endif - inline float atan2f(float f1,float f2,int rad){ if (rad) return atan2f(f1,f2); else return atan2f(f1,f2)*180/M_PI;} + } + inline float finv(float f1){ return 1/f1; } +-#if defined __APPLE__ || defined EMCC || defined EMCC2 || defined NO_BSD ++#ifdef HAVE_TGAMMAF + inline float fgamma(float f1){ return tgammaf(f1); } + #else + #if defined(__MINGW_H) || defined(VISUALC) || defined(FXCG)// FIXME gamma, not used diff --git a/srcpkgs/giac/patches/fix-1.9.0.55.patch b/srcpkgs/giac/patches/fix-1.9.0.55.patch new file mode 100644 index 000000000000..b4e2a77614db --- /dev/null +++ b/srcpkgs/giac/patches/fix-1.9.0.55.patch @@ -0,0 +1,31 @@ +See: https://xcas.univ-grenoble-alpes.fr/forum/viewtopic.php?f=3&t=2875#p12762 + +--- a/src/gen.cc 2023-05-24 04:52:40.000000000 -0300 ++++ b/src/gen.cc 2023-06-19 12:34:19.490705892 -0300 +@@ -16952,14 +16952,14 @@ + } + + gen nws_ans=0; +- gen replace_ans(const gen & g){ ++ gen replace_ans(const gen & g,GIAC_CONTEXT){ + if (g==at_ans) + return nws_ans; + if (g.type==_VECT) +- return apply(*g._VECTptr,replace_ans); ++ return apply(*g._VECTptr,replace_ans,contextptr); + if (g.type!=_SYMB) + return g; +- return symbolic(g._SYMBptr->sommet,replace_ans(g._SYMBptr->feuille)); ++ return symbolic(g._SYMBptr->sommet,replace_ans(g._SYMBptr->feuille,contextptr)); + } + + const char * nws_caseval(const char * s){ +@@ -16999,7 +16999,7 @@ + else + g=gen(v,g.subtype); + } +- g=replace_ans(g); ++ g=replace_ans(g,contextptr); + #if 0 // def EMCC + EM_ASM({ + var value = UTF8ToString($0); diff --git a/srcpkgs/giac/patches/fix-chk_fhan0.patch b/srcpkgs/giac/patches/fix-chk_fhan0.patch new file mode 100644 index 000000000000..0a6bcb550ea9 --- /dev/null +++ b/srcpkgs/giac/patches/fix-chk_fhan0.patch @@ -0,0 +1,15 @@ +--- a/check/TP00-sol.cas.out1 2023-05-24 04:52:40.000000000 -0300 ++++ b/check/TP00-sol.cas.out1 2023-06-19 12:37:18.879967077 -0300 +@@ -30,10 +30,10 @@ + 16*a^3+32*a^2*u+16*a^2*v+20*a*u^2+20*a*u*v+4*a*v^2+4*u^3+6*u^2*v+2*u*v^2, + 1, + 4.4*(x+0.49999995802767719425726646262389673108)*(x+0.50000004197233049305707985262184456402)*(x+0.80901699437494469055404981865454965242+0.58778525229247103432520509730405154890*I)*(x+0.80901699437494469055404981865454965242-0.58778525229247103432520509730405154890*I)*(x-0.30901699437494853421122297627742029997+0.95105651629515245315101034450709359529*I)*(x-0.30901699437494853421122297627742029997-0.95105651629515245315101034450709359529*I), +-4.0*(x+0.49999999999999788328925430029686609811928022330782155585549767058946497075172)*(x+0.80901699437494742410229341718281905886015458990288143106772431135263023140945+0.58778525229247312916870595463907276859765243764314599107227248075727847416235*I)*(x+0.80901699437494742410229341718281905886015458990288143106772431135263023140945-0.58778525229247312916870595463907276859765243764314599107227248075727847416235*I)*(x-0.30901699437494742410229341718281905886015458990288143106772431135263023140945+0.95105651629515357211643933337938214340569863412575022244730564443015317008520*I)*(x-0.30901699437494742410229341718281905886015458990288143106772431135263023140945-0.95105651629515357211643933337938214340569863412575022244730564443015317008520*I)*(x+0.50000000000000423695020762139072415632649460476103935691753889574803974870605+0.31797400722558614463582272906881192689588258358870001378007305967449842289426e-15*I), ++4.0*(x+0.49999999999999788328925430029686609811928022330776429539642815014895119703600)*(x+0.80901699437494742410229341718281905886015458990288143106772431135263023140945+0.58778525229247312916870595463907276859765243764314599107227248075727847416235*I)*(x+0.80901699437494742410229341718281905886015458990288143106772431135263023140945-0.58778525229247312916870595463907276859765243764314599107227248075727847416235*I)*(x-0.30901699437494742410229341718281905886015458990288143106772431135263023140945+0.95105651629515357211643933337938214340569863412575022244730564443015317008520*I)*(x-0.30901699437494742410229341718281905886015458990288143106772431135263023140945-0.95105651629515357211643933337938214340569863412575022244730564443015317008520*I)*(x+0.50000000000000423695020762139072415632649460476116514103247668021485588860239+0.31797400722558614463582272906881240871924499768158244356057150473500445334981e-15*I), + 0, + (2*x+1)^2*(x^4+x^3+x^2+x+1), +-4.0*(x+0.49999999999999788328925430029686609811928022330782155585549767058946497075172)*(x+0.50000000000000423695020762139072415632649460476103935691753889574803974870605+0.31797400722558614463582272906881192689588258358870001378007305967449842289426e-15*I)*(x^2-0.61803398874989484820458683436563811772030917980576286213544862270526046281890*x+1.0000000000000000000000000000000000000000000000000000000000000000000000000000)*(x^2+1.6180339887498948482045868343656381177203091798057628621354486227052604628189*x+1.0000000000000000000000000000000000000000000000000000000000000000000000000000), ++4.0*(x+0.49999999999999788328925430029686609811928022330776429539642815014895119703600)*(x+0.50000000000000423695020762139072415632649460476116514103247668021485588860239+0.31797400722558614463582272906881240871924499768158244356057150473500445334981e-15*I)*(x^2-0.61803398874989484820458683436563811772030917980576286213544862270526046281890*x+1.0000000000000000000000000000000000000000000000000000000000000000000000000000)*(x^2+1.6180339887498948482045868343656381177203091798057628621354486227052604628189*x+1.0000000000000000000000000000000000000000000000000000000000000000000000000000), + (2*x+1)^2*(x^4+x^3+x^2+x+1), + (X-1)*(X+1)*(X^2+1)*(X^2+(-sqrt(3))*X+1)*(X^2-X+1)*(X^2+X+1)*(X^2+sqrt(3)*X+1), + (X-1)*(X+1)*(X-I)*(X+((-I)*sqrt(3)-1)/2)*(X+((-I)*3+3*sqrt(3))/6)*(X+(I*3-3*sqrt(3))/6)*(X+I)*(X+(I*sqrt(3)+1)/2)*(X+((-I)*sqrt(3)+1)/2)*(X+((-I)*3-3*sqrt(3))/6)*(X+(I*sqrt(3)-1)/2)*(X+(I*3+3*sqrt(3))/6), diff --git a/srcpkgs/giac/patches/fix-chk_fhan16.patch b/srcpkgs/giac/patches/fix-chk_fhan16.patch new file mode 100644 index 000000000000..a6714c34901e --- /dev/null +++ b/srcpkgs/giac/patches/fix-chk_fhan16.patch @@ -0,0 +1,29 @@ +Remove a test that gives incorrect answer on musl libc + +diff --git a/check/TP16-sol.cas b/check/TP16-sol.cas +index 6ffd2ac..5d83748 100644 +--- a/check/TP16-sol.cas ++++ b/check/TP16-sol.cas +@@ -52,9 +52,6 @@ purge(x,y); + factor(eqx); #On voit qu'il faut introduire le discriminant. + factor(eqx,sqrt(13)); + eqred:=gcd(eqx,diff(eqx,x)); +- rac:=[solve(approx(eqred),x)]; +-/* On constate qu'il y a un point qui ne semble pas correspondre a une projection£d'un point d'instersection. Nous allons l'interpr\'eter maintenant.*/ +- (d1,d2,seq(point(i,color=black+point_width_3),i=rac)): + solx:=[solve(eqred,x)]; + soly:=seq(gcd(subs(x=solx[i],C1),subs(x=solx[i],C2)),i=1..3); + /* les ordonn\'ees des points d'abscisse solx[i] sont:*/ +diff --git a/check/TP16-sol.cas.out1 b/check/TP16-sol.cas.out1 +index 9be24b2..0f0a922 100644 +--- a/check/TP16-sol.cas.out1 ++++ b/check/TP16-sol.cas.out1 +@@ -44,8 +44,6 @@ x^6-4*x^5-36*x^4+176*x^3+208*x^2-1920*x+2304, + (x-4)^2*(x^2+2*x-12)^2, + (x-4)^2*(x-sqrt(13)+1)^2*(x+sqrt(13)+1)^2, + x^3-2*x^2-20*x+48, +-[-4.605551275,2.605551275,4.0], +-"Done", + [-sqrt(13)-1,sqrt(13)-1,4], + y^2+6*sqrt(13)+18,y^2-6*sqrt(13)+18,y^2, + "Done", diff --git a/srcpkgs/giac/patches/invmod.patch b/srcpkgs/giac/patches/invmod.patch deleted file mode 100644 index 1d87fff8ea0e..000000000000 --- a/srcpkgs/giac/patches/invmod.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- a/src/modpoly.cc 2020-02-18 10:07:10.000000000 -0300 -+++ b/src/modpoly.cc 2021-03-08 02:18:09.443740199 -0300 -@@ -92,7 +92,10 @@ - gen invenv(const gen & g,environment * env){ - if (g.type==_USER) - return g._USERptr->inv(); -- return invmod(g,env->modulo); -+ if (env->moduloon) -+ return invmod(g,env->modulo); -+ else -+ return gen(1)/g; - } - - /* diff --git a/srcpkgs/giac/patches/mallinfo.patch b/srcpkgs/giac/patches/mallinfo.patch new file mode 100644 index 000000000000..4484145b880d --- /dev/null +++ b/srcpkgs/giac/patches/mallinfo.patch @@ -0,0 +1,25 @@ +diff --git a/configure.ac b/configure.ac +index 8e1813e..99fa34e 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -482,6 +482,7 @@ AC_CHECK_HEADERS(vcl1/vectorclass.h) + AC_CHECK_LIB(pthread,main) + AC_CHECK_HEADERS(pthread.h) + AC_CHECK_HEADERS(malloc.h) ++AC_CHECK_FUNCS(mallinfo) + AC_CHECK_FUNCS(sysconf) + AC_CHECK_LIB(rt,clock_gettime) + +diff --git a/src/History.cc b/src/History.cc +index 6ba7b52..d2c35db 100644 +--- a/src/History.cc ++++ b/src/History.cc +@@ -4759,7 +4759,7 @@ namespace xcas { + // mode_s += "Time: "; + // double t=double(clock()); + // mode_s += xcas::print_DOUBLE_(t/CLOCKS_PER_SEC); +-#if defined(HAVE_MALLOC_H) && !defined(__MINGW_H) ++#ifdef HAVE_MALLINFO + struct mallinfo mem=mallinfo(); + double memd=mem.arena+mem.hblkhd; + mode_s +=xcas::print_DOUBLE_(memd/1048576); diff --git a/srcpkgs/giac/patches/malloc.patch b/srcpkgs/giac/patches/malloc.patch deleted file mode 100644 index 52d70e0ad21b..000000000000 --- a/srcpkgs/giac/patches/malloc.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/src/History.cc 2017-10-02 10:23:46.000000000 +0200 -+++ b/src/History.cc 2017-11-14 15:42:12.119849965 +0100 -@@ -4633,7 +4633,7 @@ - // mode_s += "Time: "; - // double t=double(clock()); - // mode_s += xcas::print_DOUBLE_(t/CLOCKS_PER_SEC); --#if defined(HAVE_MALLOC_H) && !defined(__MINGW_H) -+#if defined(HAVE_MALLOC_H) && !defined(__MINGW_H) && defined(__GLIBC__) - struct mallinfo mem=mallinfo(); - double memd=mem.arena+mem.hblkhd; - mode_s +=xcas::print_DOUBLE_(memd/1048576); diff --git a/srcpkgs/giac/template b/srcpkgs/giac/template index 4979287c40bf..229cb128d8a3 100644 --- a/srcpkgs/giac/template +++ b/srcpkgs/giac/template @@ -1,6 +1,6 @@ # Template file for 'giac' pkgname=giac -version=1.9.0.49 +version=1.9.0.55 revision=1 build_style=gnu-configure configure_args="--disable-micropy --disable-quickjs" @@ -15,7 +15,7 @@ license="GPL-3.0-or-later" homepage="https://www-fourier.ujf-grenoble.fr/~parisse/giac.html" changelog="https://www-fourier.ujf-grenoble.fr/~parisse/install_en#new" distfiles="https://www-fourier.ujf-grenoble.fr/~parisse/debian/dists/stable/main/source/giac_${version%.*}-${version##*.}.tar.gz" -checksum=b9cd59b52b261a1598ab95bcd2d4b3f7ce1f90b226a9e5ad19e6e200b6f39147 +checksum=eabcf6f85bea35d175710654523ebd37546e3def09c7476232891266c1c25858 # need more than 4*65536 stack, see try_parse() in gen.cc line 11812 LDFLAGS="-Wl,-z,stack-size=2097152"