git: 34dba95aaac4 - 2026Q4 - math/giacxcas: update 1.9.0-85 → 2.0.0.21

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Sun, 11 Oct 2026 00:42:19 UTC
The branch 2026Q4 has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=34dba95aaac49c6f20741a374fd90546c3e9f7c1

commit 34dba95aaac49c6f20741a374fd90546c3e9f7c1
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2026-10-07 18:06:34 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2026-10-11 00:42:17 +0000

    math/giacxcas: update 1.9.0-85 → 2.0.0.21
    
    (cherry picked from commit 435e8ee1d5e60179c79a13ccda07f66dda7e0085)
---
 math/giacxcas/Makefile                             |   8 +-
 math/giacxcas/distinfo                             |   6 +-
 math/giacxcas/files/patch-configure.ac             |  13 ++
 .../files/patch-micropython-1.12_py_mkenv.mk       |   6 +-
 math/giacxcas/files/patch-src_Editeur.cc           |   6 +-
 math/giacxcas/files/patch-src_Makefile.in          | 225 ++++++++++++++++++++-
 math/giacxcas/files/patch-src_icas.cc              |  28 ++-
 math/giacxcas/files/patch-src_kdisplay.cc          |  10 -
 math/giacxcas/files/patch-src_optimization.cc      |  17 ++
 math/giacxcas/files/patch-src_pari.cc              |   4 +-
 math/giacxcas/pkg-plist                            |  90 +++++++++
 11 files changed, 375 insertions(+), 38 deletions(-)

diff --git a/math/giacxcas/Makefile b/math/giacxcas/Makefile
index 378c3df6cbfd..6f108bd138b5 100644
--- a/math/giacxcas/Makefile
+++ b/math/giacxcas/Makefile
@@ -1,6 +1,5 @@
 PORTNAME=	giacxcas
-DISTVERSION=	1.9.0-85
-PORTREVISION=	9
+DISTVERSION=	2.0.0-21
 CATEGORIES=	math
 MASTER_SITES=	http://www-fourier.univ-grenoble-alpes.fr/~parisse/debian/dists/stable/main/source/:giac \
 		http://cocoa.dima.unige.it/cocoa/cocoalib/tgz/:cocoa \
@@ -49,7 +48,7 @@ USES=		autoreconf blaslapack compiler:c++14-lang desktop-file-utils fortran \
 		gettext gl gmake gnome jpeg libtool localbase ncurses perl5 \
 		python readline shebangfix tex xorg
 GNU_CONFIGURE=	yes
-USE_CXXSTD=	c++11
+USE_CXXSTD=	c++14
 USE_GL=		gl
 USE_XORG=	x11 xcursor xext xfixes xft xi xinerama xrender
 USE_TEX=	latex:build dvipsk:build
@@ -143,7 +142,8 @@ pre-configure:
 		--with-cxx="${CXX}")
 	@(cd ${FLTKDEV-GIAC} && ${SETENV} ${CONFIGURE_ENV} ./configure \
 		--prefix=${FLTKDEV-GIAC} \
-		CXX="${CXX}" CXXFLAGS="${CXXFLAGS}")
+		CXX="${CXX}" CXXFLAGS="${CXXFLAGS} -fPIC" \
+		CC="${CC}" CFLAGS="${CFLAGS} -fPIC")
 
 post-configure:	# malloc.h on 13-CURRENT is missing mallinfo and compilation fails after it is discovered
 	@${FIND} ${WRKSRC} -name config.h | ${XARGS} ${REINPLACE_CMD} -e 's|#define HAVE_MALLOC_H 1|/* #undef HAVE_MALLOC_H */|'
diff --git a/math/giacxcas/distinfo b/math/giacxcas/distinfo
index 4927c38eeb1c..a2a8059be7c4 100644
--- a/math/giacxcas/distinfo
+++ b/math/giacxcas/distinfo
@@ -1,6 +1,6 @@
-TIMESTAMP = 1706082612
-SHA256 (giacxcas/giac_1.9.0-85.tar.gz) = e91664da5a5d93239297b7c74aa14967734851e1b81acdc40cd2b1691761c7dd
-SIZE (giacxcas/giac_1.9.0-85.tar.gz) = 138619049
+TIMESTAMP = 1791095640
+SHA256 (giacxcas/giac_2.0.0-21.tar.gz) = 3e7fa1c281a21ab74ed66ef247faffe5a105bc11be1f7715f31b4368ce8dcbc8
+SIZE (giacxcas/giac_2.0.0-21.tar.gz) = 149884589
 SHA256 (giacxcas/CoCoALib-0.99818.tgz) = 7c7d6bb0bc3004ea76caaeb5f8de10ed09c8052a9131fd98716c36c6fc96d1ea
 SIZE (giacxcas/CoCoALib-0.99818.tgz) = 4778561
 SHA256 (giacxcas/fltk-giac.tar.gz) = 538243c536a62e562bc26dec1c54454f54ce614cc540371f5ccfe71d8ed27cf7
diff --git a/math/giacxcas/files/patch-configure.ac b/math/giacxcas/files/patch-configure.ac
new file mode 100644
index 000000000000..8759521e56c8
--- /dev/null
+++ b/math/giacxcas/files/patch-configure.ac
@@ -0,0 +1,13 @@
+--- configure.ac.orig	2026-02-09 08:56:35 UTC
++++ configure.ac
+@@ -523,9 +523,9 @@
+ 	      FLTK_LIBS="$LIBS $X_LIBS"
+ 	      AC_SUBST(FLTK_LIBS)
+               cd src && ln -sf ../fltk-1.3.8 && cd ..
+-           fi
+         fi
+             ])
++fi
+ LIBS="$save_LIBS"
+ 
+ AC_CHECK_HEADERS(dfu_lib.h) 
diff --git a/math/giacxcas/files/patch-micropython-1.12_py_mkenv.mk b/math/giacxcas/files/patch-micropython-1.12_py_mkenv.mk
index f2598ec00531..09d384b88310 100644
--- a/math/giacxcas/files/patch-micropython-1.12_py_mkenv.mk
+++ b/math/giacxcas/files/patch-micropython-1.12_py_mkenv.mk
@@ -1,8 +1,8 @@
---- micropython-1.12/py/mkenv.mk.orig	2020-04-13 05:21:17 UTC
+--- micropython-1.12/py/mkenv.mk.orig	2026-10-04 08:37:56 UTC
 +++ micropython-1.12/py/mkenv.mk
-@@ -46,15 +46,15 @@ PYTHON = python3
+@@ -46,15 +46,15 @@ PYTHON = /usr/local/bin/python3.12
  TOUCH = touch
- PYTHON = python3
+ PYTHON = /usr/local/bin/python3.12
  
 -AS = $(CROSS_COMPILE)as
 -CC = $(CROSS_COMPILE)gcc
diff --git a/math/giacxcas/files/patch-src_Editeur.cc b/math/giacxcas/files/patch-src_Editeur.cc
index 767730070f9d..927d55adf5f5 100644
--- a/math/giacxcas/files/patch-src_Editeur.cc
+++ b/math/giacxcas/files/patch-src_Editeur.cc
@@ -1,6 +1,6 @@
---- src/Editeur.cc.orig	2022-03-09 17:34:39 UTC
+--- src/Editeur.cc.orig	2026-01-28 09:16:56 UTC
 +++ src/Editeur.cc
-@@ -2924,7 +2924,7 @@ namespace xcas {
+@@ -3134,7 +3134,7 @@ namespace xcas {
      Fl_Text_Buffer * b = new Fl_Text_Buffer;
      editor=new Xcas_Text_Editor(x,y+L,w,h-L,b,l);
      editor->Fl_Text_Display::textsize(labelsize());
@@ -8,4 +8,4 @@
 +    // editor->Fl_Text_Display::linenumber_width(3*labelsize());
      editor->labelsize(labelsize());
      log = 0;
-     if (logo){
+     if (
diff --git a/math/giacxcas/files/patch-src_Makefile.in b/math/giacxcas/files/patch-src_Makefile.in
index 426f193d3f31..55e28b7cda40 100644
--- a/math/giacxcas/files/patch-src_Makefile.in
+++ b/math/giacxcas/files/patch-src_Makefile.in
@@ -1,11 +1,216 @@
---- src/Makefile.in.orig	2022-04-11 07:52:40 UTC
+--- src/Makefile.in.orig	2026-02-13 07:59:07 UTC
 +++ src/Makefile.in
-@@ -283,7 +283,7 @@ LIBOBJS = @LIBOBJS@
- LIBICONV = @LIBICONV@
- LIBINTL = @LIBINTL@
- LIBOBJS = @LIBOBJS@
--LIBS = @LIBS@
-+LIBS = @LIBS@ @LIBINTL@
- LIBTERMCAP = @LIBTERMCAP@
- LIBTOOL = @LIBTOOL@
- LIPO = @LIPO@
+@@ -1,7 +1,7 @@
+-# Makefile.in generated by automake 1.16.3 from Makefile.am.
++# Makefile.in generated by automake 1.18.1 from Makefile.am.
+ # @configure_input@
+ 
+-# Copyright (C) 1994-2020 Free Software Foundation, Inc.
++# Copyright (C) 1994-2025 Free Software Foundation, Inc.
+ 
+ # This Makefile.in is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -73,6 +73,8 @@ am__make_keepgoing = (target_option=k; $(am__make_runn
+   test $$has_opt = yes
+ am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+ am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
++am__rm_f = rm -f $(am__rm_f_notfound)
++am__rm_rf = rm -rf $(am__rm_f_notfound)
+ pkgdatadir = $(datadir)/@PACKAGE@
+ pkgincludedir = $(includedir)/@PACKAGE@
+ pkglibdir = $(libdir)/@PACKAGE@
+@@ -147,10 +149,9 @@ am__uninstall_files_from_dir = { \
+   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+ am__uninstall_files_from_dir = { \
+-  test -z "$$files" \
+-    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+-    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+-         $(am__cd) "$$dir" && rm -f $$files; }; \
++  { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
++  || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
++       $(am__cd) "$$dir" && echo $$files | $(am__xargs_n) 40 $(am__rm_f); }; \
+   }
+ LTLIBRARIES = $(lib_LTLIBRARIES)
+ am__DEPENDENCIES_1 =
+@@ -343,8 +344,6 @@ am__define_uniq_tagged_files = \
+   unique=`for i in $$list; do \
+     if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+   done | $(am__uniquify_input)`
+-ETAGS = etags
+-CTAGS = ctags
+ am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \
+ 	$(top_srcdir)/config/mkinstalldirs $(top_srcdir)/config/ylwrap \
+ 	COPYING README TODO input_lexer.cc input_parser.cc \
+@@ -379,8 +378,9 @@ CONFIG_SAMPLERATE = @CONFIG_SAMPLERATE@
+ CONFIG_NTL = @CONFIG_NTL@
+ CONFIG_PARI = @CONFIG_PARI@
+ CONFIG_SAMPLERATE = @CONFIG_SAMPLERATE@
+-CPP = @CPP@
+ CPPFLAGS = @CPPFLAGS@
++CSCOPE = @CSCOPE@
++CTAGS = @CTAGS@
+ CURL_LIBS = @CURL_LIBS@
+ CXX = @CXX@
+ CXXCPP = @CXXCPP@
+@@ -390,6 +390,7 @@ DEPDIR = @DEPDIR@
+ DATADIRNAME = @DATADIRNAME@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
++DLLTOOL = @DLLTOOL@
+ DSYMUTIL = @DSYMUTIL@
+ DUMPBIN = @DUMPBIN@
+ DVIPS = @DVIPS@
+@@ -398,8 +399,10 @@ EGREP = @EGREP@
+ ECHO_T = @ECHO_T@
+ ECM_LIBS = @ECM_LIBS@
+ EGREP = @EGREP@
++ETAGS = @ETAGS@
+ EXEEXT = @EXEEXT@
+ FGREP = @FGREP@
++FILECMD = @FILECMD@
+ FLTK_LIBS = @FLTK_LIBS@
+ GENCAT = @GENCAT@
+ GINSH_LIBS = @GINSH_LIBS@
+@@ -442,8 +445,10 @@ LTLIBOBJS = @LTLIBOBJS@
+ LTLIBICONV = @LTLIBICONV@
+ LTLIBINTL = @LTLIBINTL@
+ LTLIBOBJS = @LTLIBOBJS@
++LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+ MAKEINDEX = @MAKEINDEX@
+ MAKEINFO = @MAKEINFO@
++MANIFEST_TOOL = @MANIFEST_TOOL@
+ MKDIR_P = @MKDIR_P@
+ MKINSTALLDIRS = @MKINSTALLDIRS@
+ MSGFMT = @MSGFMT@
+@@ -451,6 +456,7 @@ NTL_LIBS = @NTL_LIBS@
+ NM = @NM@
+ NMEDIT = @NMEDIT@
+ NTL_LIBS = @NTL_LIBS@
++OBJDUMP = @OBJDUMP@
+ OBJEXT = @OBJEXT@
+ OTOOL = @OTOOL@
+ OTOOL64 = @OTOOL64@
+@@ -486,14 +492,17 @@ abs_top_srcdir = @abs_top_srcdir@
+ abs_srcdir = @abs_srcdir@
+ abs_top_builddir = @abs_top_builddir@
+ abs_top_srcdir = @abs_top_srcdir@
++ac_ct_AR = @ac_ct_AR@
+ ac_ct_CC = @ac_ct_CC@
+ ac_ct_CXX = @ac_ct_CXX@
+ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ am__include = @am__include@
+ am__leading_dot = @am__leading_dot@
+ am__quote = @am__quote@
++am__rm_f_notfound = @am__rm_f_notfound@
+ am__tar = @am__tar@
+ am__untar = @am__untar@
++am__xargs_n = @am__xargs_n@
+ bindir = @bindir@
+ build = @build@
+ build_alias = @build_alias@
+@@ -519,7 +528,6 @@ localstatedir = @localstatedir@
+ libexecdir = @libexecdir@
+ localedir = @localedir@
+ localstatedir = @localstatedir@
+-lt_ECHO = @lt_ECHO@
+ mandir = @mandir@
+ mkdir_p = @mkdir_p@
+ oldincludedir = @oldincludedir@
+@@ -699,16 +707,11 @@ uninstall-binPROGRAMS:
+ 	`; \
+ 	test -n "$$list" || exit 0; \
+ 	echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+-	cd "$(DESTDIR)$(bindir)" && rm -f $$files
++	cd "$(DESTDIR)$(bindir)" && $(am__rm_f) $$files
+ 
+ clean-binPROGRAMS:
+-	@list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
+-	echo " rm -f" $$list; \
+-	rm -f $$list || exit $$?; \
+-	test -n "$(EXEEXT)" || exit 0; \
+-	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+-	echo " rm -f" $$list; \
+-	rm -f $$list
++	$(am__rm_f) $(bin_PROGRAMS)
++	test -z "$(EXEEXT)" || $(am__rm_f) $(bin_PROGRAMS:$(EXEEXT)=)
+ 
+ install-libLTLIBRARIES: $(lib_LTLIBRARIES)
+ 	@$(NORMAL_INSTALL)
+@@ -735,15 +738,13 @@ clean-libLTLIBRARIES:
+ 	done
+ 
+ clean-libLTLIBRARIES:
+-	-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
++	-$(am__rm_f) $(lib_LTLIBRARIES)
+ 	@list='$(lib_LTLIBRARIES)'; \
+ 	locs=`for p in $$list; do echo $$p; done | \
+ 	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+ 	      sort -u`; \
+-	test -z "$$locs" || { \
+-	  echo rm -f $${locs}; \
+-	  rm -f $${locs}; \
+-	}
++	echo rm -f $${locs}; \
++	$(am__rm_f) $${locs}
+ input_parser.hh: input_parser.cc
+ 	@if test ! -f $@; then rm -f input_parser.cc; else :; fi
+ 	@if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) input_parser.cc; else :; fi
+@@ -911,7 +912,7 @@ $(am__depfiles_remade):
+ 
+ $(am__depfiles_remade):
+ 	@$(MKDIR_P) $(@D)
+-	@echo '# dummy' >$@-t && $(am__mv) $@-t $@
++	@: >>$@
+ 
+ am--depfiles: $(am__depfiles_remade)
+ 
+@@ -1150,22 +1151,22 @@ distclean-generic:
+ clean-generic:
+ 
+ distclean-generic:
+-	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+-	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
++	-$(am__rm_f) $(CONFIG_CLEAN_FILES)
++	-test . = "$(srcdir)" || $(am__rm_f) $(CONFIG_CLEAN_VPATH_FILES)
+ 
+ maintainer-clean-generic:
+ 	@echo "This command is intended for maintainers to use"
+ 	@echo "it deletes files that may require special tools to rebuild."
+-	-rm -f input_lexer.cc
+-	-rm -f input_parser.cc
+-	-rm -f input_parser.hh
++	-$(am__rm_f) input_lexer.cc
++	-$(am__rm_f) input_parser.cc
++	-$(am__rm_f) input_parser.hh
+ clean: clean-am
+ 
+ clean-am: clean-binPROGRAMS clean-generic clean-libLTLIBRARIES \
+ 	clean-libtool mostlyclean-am
+ 
+ distclean: distclean-am
+-		-rm -f ./$(DEPDIR)/Cfg.Plo
++	-rm -f ./$(DEPDIR)/Cfg.Plo
+ 	-rm -f ./$(DEPDIR)/Editeur.Plo
+ 	-rm -f ./$(DEPDIR)/Equation.Plo
+ 	-rm -f ./$(DEPDIR)/Flv_CStyle.Plo
+@@ -1309,7 +1310,7 @@ maintainer-clean: maintainer-clean-am
+ installcheck-am:
+ 
+ maintainer-clean: maintainer-clean-am
+-		-rm -f ./$(DEPDIR)/Cfg.Plo
++	-rm -f ./$(DEPDIR)/Cfg.Plo
+ 	-rm -f ./$(DEPDIR)/Editeur.Plo
+ 	-rm -f ./$(DEPDIR)/Equation.Plo
+ 	-rm -f ./$(DEPDIR)/Flv_CStyle.Plo
+@@ -1480,3 +1481,10 @@ install-exec-hook:
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
+ # Otherwise a system limit (for SysV at least) may be exceeded.
+ .NOEXPORT:
++
++# Tell GNU make to disable its built-in pattern rules.
++%:: %,v
++%:: RCS/%,v
++%:: RCS/%
++%:: s.%
++%:: SCCS/s.%
diff --git a/math/giacxcas/files/patch-src_icas.cc b/math/giacxcas/files/patch-src_icas.cc
index 8a6b89ec23b9..3ff11a200c02 100644
--- a/math/giacxcas/files/patch-src_icas.cc
+++ b/math/giacxcas/files/patch-src_icas.cc
@@ -1,7 +1,7 @@
---- src/icas.cc.orig	2022-04-11 07:52:40 UTC
+--- src/icas.cc.orig	2026-02-13 17:50:20 UTC
 +++ src/icas.cc
-@@ -47,6 +47,9 @@ using namespace std;
- //#include <unistd.h> // For reading arguments from file
+@@ -57,6 +57,9 @@ using namespace std;
+ #endif
  #include <fcntl.h>
  #include <cstdlib>
 +#if defined(__FreeBSD__)
@@ -10,3 +10,25 @@
  #include "gen.h"
  #include "index.h"
  #include "sym2poly.h"
+@@ -887,8 +890,8 @@ void pgiac(std::string infile,std::string outfile,std:
+     if (giac::is_file_available("/usr/share/giac/doc/giac.tex"))
+       giac::system_no_deprecation("cp /usr/share/giac/doc/giac.tex .");
+     else {
+-      if (giac::is_file_available("/usr/local/share/giac/doc/giac.tex"))
+-	giac::system_no_deprecation("cp /usr/local/share/giac/doc/giac.tex .");
++      if (giac::is_file_available("/usr/local/share/doc/giac/giac.tex"))
++	giac::system_no_deprecation("cp /usr/local/share/doc/giac/giac.tex .");
+       else 
+ 	if (giac::is_file_available("/Applications/share/giac/doc/giac.tex"))
+ 	  giac::system_no_deprecation("cp /Applications/share/giac/doc/giac.tex .");
+@@ -898,8 +901,8 @@ void pgiac(std::string infile,std::string outfile,std:
+     if (giac::is_file_available("/usr/share/giac/doc/giacfr.tex"))
+       giac::system_no_deprecation("cp /usr/share/giac/doc/giacfr.tex .");
+     else {
+-      if (giac::is_file_available("/usr/local/share/giac/doc/giacfr.tex"))
+-	giac::system_no_deprecation("cp /usr/local/share/giac/doc/giacfr.tex .");
++      if (giac::is_file_available("/usr/local/share/doc/giac/giacfr.tex"))
++	giac::system_no_deprecation("cp /usr/local/share/doc/giac/giacfr.tex .");
+       else 
+ 	if (giac::is_file_available("/Applications/share/giac/doc/giacfr.tex"))
+ 	  giac::system_no_deprecation("cp /Applications/share/giac/doc/giacfr.tex .");
diff --git a/math/giacxcas/files/patch-src_kdisplay.cc b/math/giacxcas/files/patch-src_kdisplay.cc
deleted file mode 100644
index 05674af0fbd7..000000000000
--- a/math/giacxcas/files/patch-src_kdisplay.cc
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/kdisplay.cc.orig	2023-08-02 10:12:31 UTC
-+++ src/kdisplay.cc
-@@ -29,7 +29,6 @@
- #include <syscall.h>
- #include "sha256.h"
- #endif
--#include <alloca.h>
- #ifndef is_cx2
- #define is_cx2 false
- #endif
diff --git a/math/giacxcas/files/patch-src_optimization.cc b/math/giacxcas/files/patch-src_optimization.cc
new file mode 100644
index 000000000000..61550d0ad34e
--- /dev/null
+++ b/math/giacxcas/files/patch-src_optimization.cc
@@ -0,0 +1,17 @@
+PARI's paridecl.h declares a global function `bitset(GEN x, long n)`.
+Since optimization.cc does `using namespace std;` and PARI headers are
+pulled in transitively, the unqualified use of `bitset<32>` becomes
+ambiguous between `::bitset` (PARI) and `std::bitset`. Qualify it
+explicitly to resolve the ambiguity.
+
+--- src/optimization.cc.orig
++++ src/optimization.cc
+@@ -1271,7 +1271,7 @@
+     vector<ulong> sets(comb(n,m).val);
+     int i=0;
+     for (ulong k=1;k<N;++k) {
+-        bitset<32> b(k);
++        std::bitset<32> b(k);
+         if (b.count()==(size_t)m)
+             sets[i++]=k;
+     }
diff --git a/math/giacxcas/files/patch-src_pari.cc b/math/giacxcas/files/patch-src_pari.cc
index bd3f15a4384c..c559f32c1b11 100644
--- a/math/giacxcas/files/patch-src_pari.cc
+++ b/math/giacxcas/files/patch-src_pari.cc
@@ -1,8 +1,8 @@
 - workaroud of the removal of the ANYARG macro in pari-2.15.0
 
---- src/pari.cc.orig	2022-03-16 11:38:05 UTC
+--- src/pari.cc.orig	2024-05-22 16:04:06 UTC
 +++ src/pari.cc
-@@ -44,6 +44,9 @@ using namespace std;
+@@ -55,6 +55,9 @@ using namespace std;
  #include <pthread.h>
  #endif
  
diff --git a/math/giacxcas/pkg-plist b/math/giacxcas/pkg-plist
index e4a0748332bc..b0bc3ba80429 100644
--- a/math/giacxcas/pkg-plist
+++ b/math/giacxcas/pkg-plist
@@ -58,6 +58,7 @@ include/giac/markup.h
 include/giac/mathml.h
 include/giac/misc.h
 include/giac/modfactor.h
+include/giac/modint.h
 include/giac/modpoly.h
 include/giac/monomial.h
 include/giac/moyal.h
@@ -103,9 +104,14 @@ lib/libgiac.a
 lib/libgiac.so
 lib/libgiac.so.0
 lib/libgiac.so.0.0.0
+lib/libxcas.a
+lib/libxcas.so
+lib/libxcas.so.0
+lib/libxcas.so.0.0.0
 share/application-registry/xcas.applications
 share/applications/xcas.desktop
 %%DATADIR%%/aide_cas
+%%DATADIR%%/xcas.html
 %%DATADIR%%/doc/50-numworks-calculator.rules
 %%DATADIR%%/doc/FileSaver.js
 %%DATADIR%%/doc/README
@@ -1908,17 +1914,29 @@ share/applications/xcas.desktop
 %%DATADIR%%/doc/en/cascmd_en/cascmd_en454.html
 %%DATADIR%%/doc/en/cascmd_en/cascmd_en454.png
 %%DATADIR%%/doc/en/cascmd_en/cascmd_en455.html
+%%DATADIR%%/doc/en/cascmd_en/cascmd_en455.png
 %%DATADIR%%/doc/en/cascmd_en/cascmd_en456.html
+%%DATADIR%%/doc/en/cascmd_en/cascmd_en456.png
 %%DATADIR%%/doc/en/cascmd_en/cascmd_en457.html
+%%DATADIR%%/doc/en/cascmd_en/cascmd_en457.png
 %%DATADIR%%/doc/en/cascmd_en/cascmd_en458.html
+%%DATADIR%%/doc/en/cascmd_en/cascmd_en458.png
 %%DATADIR%%/doc/en/cascmd_en/cascmd_en459.html
+%%DATADIR%%/doc/en/cascmd_en/cascmd_en459.png
 %%DATADIR%%/doc/en/cascmd_en/cascmd_en460.html
+%%DATADIR%%/doc/en/cascmd_en/cascmd_en460.png
 %%DATADIR%%/doc/en/cascmd_en/cascmd_en461.html
+%%DATADIR%%/doc/en/cascmd_en/cascmd_en461.png
 %%DATADIR%%/doc/en/cascmd_en/cascmd_en462.html
+%%DATADIR%%/doc/en/cascmd_en/cascmd_en462.png
 %%DATADIR%%/doc/en/cascmd_en/cascmd_en463.html
+%%DATADIR%%/doc/en/cascmd_en/cascmd_en463.png
 %%DATADIR%%/doc/en/cascmd_en/cascmd_en464.html
+%%DATADIR%%/doc/en/cascmd_en/cascmd_en464.png
 %%DATADIR%%/doc/en/cascmd_en/cascmd_en465.html
+%%DATADIR%%/doc/en/cascmd_en/cascmd_en465.png
 %%DATADIR%%/doc/en/cascmd_en/cascmd_en466.html
+%%DATADIR%%/doc/en/cascmd_en/cascmd_en466.png
 %%DATADIR%%/doc/en/cascmd_en/cascmd_en467.html
 %%DATADIR%%/doc/en/cascmd_en/cascmd_en468.html
 %%DATADIR%%/doc/en/cascmd_en/cascmd_en469.html
@@ -3848,9 +3866,12 @@ share/applications/xcas.desktop
 %%DATADIR%%/doc/fr/cascmd_fr/cascmd_fr998.html
 %%DATADIR%%/doc/fr/cascmd_fr/cascmd_fr999.html
 %%DATADIR%%/doc/fr/cascmd_fr/contents_motif.gif
+%%DATADIR%%/doc/fr/cascmd_fr/contents_motif.svg
 %%DATADIR%%/doc/fr/cascmd_fr/index.html
 %%DATADIR%%/doc/fr/cascmd_fr/next_motif.gif
+%%DATADIR%%/doc/fr/cascmd_fr/next_motif.svg
 %%DATADIR%%/doc/fr/cascmd_fr/previous_motif.gif
+%%DATADIR%%/doc/fr/cascmd_fr/previous_motif.svg
 %%DATADIR%%/doc/fr/casexo/casexo.css
 %%DATADIR%%/doc/fr/casexo/casexo.png
 %%DATADIR%%/doc/fr/casexo/casexo001.html
@@ -3998,9 +4019,12 @@ share/applications/xcas.desktop
 %%DATADIR%%/doc/fr/casexo/casexo111.png
 %%DATADIR%%/doc/fr/casexo/casexo112.png
 %%DATADIR%%/doc/fr/casexo/contents_motif.gif
+%%DATADIR%%/doc/fr/casexo/contents_motif.svg
 %%DATADIR%%/doc/fr/casexo/index.html
 %%DATADIR%%/doc/fr/casexo/next_motif.gif
+%%DATADIR%%/doc/fr/casexo/next_motif.svg
 %%DATADIR%%/doc/fr/casexo/previous_motif.gif
+%%DATADIR%%/doc/fr/casexo/previous_motif.svg
 %%DATADIR%%/doc/fr/casgeo/casgeo.css
 %%DATADIR%%/doc/fr/casgeo/casgeo.png
 %%DATADIR%%/doc/fr/casgeo/casgeo001.html
@@ -4358,6 +4382,7 @@ share/applications/xcas.desktop
 %%DATADIR%%/doc/fr/troussesurvie_fr.pdf
 %%DATADIR%%/doc/fr/tutoriel.html
 %%DATADIR%%/doc/fr/tutoriel.pdf
+%%DATADIR%%/doc/fr/tutoriel.png
 %%DATADIR%%/doc/fr/tutoriel001.png
 %%DATADIR%%/doc/fr/tutoriel002.png
 %%DATADIR%%/doc/fr/xcasex
@@ -4379,6 +4404,12 @@ share/applications/xcas.desktop
 %%DATADIR%%/doc/jump-to-line.js
 %%DATADIR%%/doc/khi.A.bin
 %%DATADIR%%/doc/khi.B.bin
+%%DATADIR%%/doc/khi110ab.tar
+%%DATADIR%%/doc/khi110b.tar
+%%DATADIR%%/doc/khi120ab.tar
+%%DATADIR%%/doc/khi120b.tar
+%%DATADIR%%/doc/khi92.tar
+%%DATADIR%%/doc/khicas.nwa
 %%DATADIR%%/doc/khicasnw.html
 %%DATADIR%%/doc/logo.png
 %%DATADIR%%/doc/longhelp.js
@@ -4473,14 +4504,66 @@ share/applications/xcas.desktop
 %%DATADIR%%/doc/pt/xcasex
 %%DATADIR%%/doc/pt/xcasmenu
 %%DATADIR%%/doc/python.js
+%%DATADIR%%/doc/qrcode.js
 %%DATADIR%%/doc/recovery
 %%DATADIR%%/doc/search.js
 %%DATADIR%%/doc/searchcursor.js
+%%DATADIR%%/doc/sector15v19.5.0.110
+%%DATADIR%%/doc/sector15v19.5.9.110
+%%DATADIR%%/doc/sector16v24.0.1.110
+%%DATADIR%%/doc/sector16v24.1.0.110
+%%DATADIR%%/doc/sector16v24.1.0.120
+%%DATADIR%%/doc/sector17v20.1.0.110
+%%DATADIR%%/doc/sector17v20.2.0.110
+%%DATADIR%%/doc/sector17v20.3.0.110
+%%DATADIR%%/doc/sector17v20.4.0.110
+%%DATADIR%%/doc/sector17v24.5.0.110
+%%DATADIR%%/doc/sector17v24.5.0.120
+%%DATADIR%%/doc/sector17v24.6.0.110
+%%DATADIR%%/doc/sector17v24.6.0.120
+%%DATADIR%%/doc/sector17v24.8.0.110
+%%DATADIR%%/doc/sector17v24.8.0.120
+%%DATADIR%%/doc/sector18
+%%DATADIR%%/doc/sector18v20.1.0.120
+%%DATADIR%%/doc/sector18v20.2.0.120
+%%DATADIR%%/doc/sector18v20.3.0.120
+%%DATADIR%%/doc/sector18v20.4.0.120
+%%DATADIR%%/doc/sector18v21.1.1.110
+%%DATADIR%%/doc/sector18v21.2.0.110
+%%DATADIR%%/doc/sector18v21.3.0.110
+%%DATADIR%%/doc/sector18v22.1.0.110
+%%DATADIR%%/doc/sector18v22.2.0.110
+%%DATADIR%%/doc/sector19
+%%DATADIR%%/doc/sector19v20.1.0.120
+%%DATADIR%%/doc/sector19v21.0.0.120
+%%DATADIR%%/doc/sector19v21.1.1.120
+%%DATADIR%%/doc/sector19v21.2.0.120
+%%DATADIR%%/doc/sector19v21.3.0.120
+%%DATADIR%%/doc/sector19v22.1.0.120
+%%DATADIR%%/doc/sector19v22.2.0.120
+%%DATADIR%%/doc/sector19v22.2.1.120
+%%DATADIR%%/doc/sector19v23.0.0.110
+%%DATADIR%%/doc/sector19v23.0.0.120
+%%DATADIR%%/doc/sector19v23.1.0.110
+%%DATADIR%%/doc/sector19v23.1.0.120
+%%DATADIR%%/doc/sector19v23.2.0.110
+%%DATADIR%%/doc/sector19v23.2.0.120
+%%DATADIR%%/doc/sector19v23.2.2.120
+%%DATADIR%%/doc/sector19v23.2.3.110
+%%DATADIR%%/doc/sector19v23.2.3.120
+%%DATADIR%%/doc/sector19v23.2.4.120
+%%DATADIR%%/doc/sector19v23.2.5.110
+%%DATADIR%%/doc/sector19v23.2.5.120
+%%DATADIR%%/doc/sector19v23.2.6.110
+%%DATADIR%%/doc/sector19v23.2.6.120
+%%DATADIR%%/doc/send18
+%%DATADIR%%/doc/send19
 %%DATADIR%%/doc/service-worker.js
 %%DATADIR%%/doc/shakeys
 %%DATADIR%%/doc/show-hint.css
 %%DATADIR%%/doc/show-hint.js
 %%DATADIR%%/doc/simple.html
+%%DATADIR%%/doc/sw.js
 %%DATADIR%%/doc/tableau.js
 %%DATADIR%%/doc/tableauen.html
 %%DATADIR%%/doc/tableaufr.html
@@ -4577,12 +4660,17 @@ share/applications/xcas.desktop
 %%DATADIR%%/examples/Exemples/geometrie/atelier.xws
 %%DATADIR%%/examples/Exemples/geometrie/capes.xws
 %%DATADIR%%/examples/Exemples/geometrie/caustique.xws
+%%DATADIR%%/examples/Exemples/geometrie/desargues.xws
+%%DATADIR%%/examples/Exemples/geometrie/euler.xws
+%%DATADIR%%/examples/Exemples/geometrie/feuerbach.xws
 %%DATADIR%%/examples/Exemples/geometrie/hexagone.xws
 %%DATADIR%%/examples/Exemples/geometrie/intercourbe.xws
 %%DATADIR%%/examples/Exemples/geometrie/lieu_s05.xws
 %%DATADIR%%/examples/Exemples/geometrie/morley_demo.xws
 %%DATADIR%%/examples/Exemples/geometrie/morley_puzzle.xws
 %%DATADIR%%/examples/Exemples/geometrie/napoleon.xws
+%%DATADIR%%/examples/Exemples/geometrie/pappus.xws
+%%DATADIR%%/examples/Exemples/geometrie/pascal.xws
 %%DATADIR%%/examples/Exemples/geometrie/rouepoly.xws
 %%DATADIR%%/examples/Exemples/geometrie/simson.xws
 %%DATADIR%%/examples/Exemples/logo/fleur.xws
@@ -4711,6 +4799,8 @@ share/applications/xcas.desktop
 %%DATADIR%%/examples/geo/puissance2.cas
 %%DATADIR%%/examples/geo/simpson.cxx
 %%DATADIR%%/examples/geo/terre.cas
+%%DATADIR%%/examples/groebner/Hcyclic7
+%%DATADIR%%/examples/groebner/Hcyclic8
 %%DATADIR%%/examples/groebner/Heco12
 %%DATADIR%%/examples/groebner/Hkat10
 %%DATADIR%%/examples/groebner/Hkat9