commit:     7facf697ccbc2e3cec6664958d942ab10180d167
Author:     Michael Orlitzky <mjo <AT> gentoo <DOT> org>
AuthorDate: Mon Mar  4 16:29:15 2024 +0000
Commit:     Michael Orlitzky <mjo <AT> gentoo <DOT> org>
CommitDate: Mon Mar  4 16:31:25 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7facf697

sci-mathematics/giac: add 1.9.0.93, drop 1.9.0.67

This fixes the build with USE="-gui" thanks to a patch by François
Bissey.

Closes: https://bugs.gentoo.org/916718
Signed-off-by: Michael Orlitzky <mjo <AT> gentoo.org>

 sci-mathematics/giac/Manifest                      |  2 +-
 .../files/giac-1.9.0.93-glibcxx-assertions.patch   | 31 +++++++++++
 .../files/giac-1.9.0.93-no-fltk-buildfix.patch     | 60 ++++++++++++++++++++++
 .../{giac-1.9.0.67.ebuild => giac-1.9.0.93.ebuild} |  7 ++-
 4 files changed, 95 insertions(+), 5 deletions(-)

diff --git a/sci-mathematics/giac/Manifest b/sci-mathematics/giac/Manifest
index 0ba59daf473f..c8840a6dbd27 100644
--- a/sci-mathematics/giac/Manifest
+++ b/sci-mathematics/giac/Manifest
@@ -1,2 +1,2 @@
 DIST giac_1.9.0-29.tar.gz 115441843 BLAKE2B 
9114db489be0c51d67c87b0a0c187fecf9eca84d7cb3117e72793290c8e606e76c3d9bc8a2d573fc2de2f2d885fb34d18583302a5902d69045976114ac02b95e
 SHA512 
57b58aa35c724eae7df36229cb3d45d1b724a8a88acb1d1dd0711be64dd7c891850e7242662e448ce955e76b856973f9065628b65ce0826c60e277cb944b21b7
-DIST giac_1.9.0-67.tar.gz 114193594 BLAKE2B 
aaa43b9b0eb9db04b55f995e4b47a5513a6a7238111d63900a33e8cc0d632cc24f1136e2bc5a2e3d6109fbd06405105684e571eacea5f887ef96f0f70a51adf5
 SHA512 
c03a7d22ea64f6281671eace533b7d7581ed3a3af060c112f8634fc7f13d450ba42568d9e26f8d8736e851f53ba1e9de8482fdb775427b71fcd78e2ca0ba4a69
+DIST giac_1.9.0-93.tar.gz 115117442 BLAKE2B 
397c64c5587fadca37b3298fef8c15c2977ded30849af2f3d3ee8a083d26f8db4645ac6a0db2fce4e254144cdc70b88d3313de58a502510e21a22927e1af3505
 SHA512 
b8c7d7070218afdfdb8f9a94911407860ab81ead9a60adf7f0c0cec3c50cec5fad3a439269192a01ef4d55ed822a4a619b123b6938ba76f9aba3537d14bc4680

diff --git a/sci-mathematics/giac/files/giac-1.9.0.93-glibcxx-assertions.patch 
b/sci-mathematics/giac/files/giac-1.9.0.93-glibcxx-assertions.patch
new file mode 100644
index 000000000000..d11eaf9ab01d
--- /dev/null
+++ b/sci-mathematics/giac/files/giac-1.9.0.93-glibcxx-assertions.patch
@@ -0,0 +1,31 @@
+From 77a08fddd1687e245f9f7567376f858607a76db0 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <[email protected]>
+Date: Mon, 4 Mar 2024 10:58:21 -0500
+Subject: [PATCH] configure.ac: delete _GLIBCXX_ASSERTIONS override
+
+This was added upstream when it was pointed out that the codebase
+contains undefined behavior that triggers glibcxx's assertions.
+Disabling the assertions without fixing the undefined behavior is not
+a satisfactory solution, so we drop the override.
+---
+ configure.ac | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 62b63fb..3e4909f 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -46,9 +46,8 @@ AC_CHECK_HEADERS(regex)
+ AC_CHECK_FUNCS(tgammaf)
+ 
+ dnl CXXFLAGS="$CXXFLAGS -std=c++0x"
+-dnl avoid "security" checks for vectors
+ dnl -DUSE_OBJET_BIDON added because xcas::localisation() does not load 
locales correctly for modules loaded before main() is executed
+-CXXFLAGS="$CXXFLAGS -U_GLIBCXX_ASSERTIONS -DUSE_OBJET_BIDON"
++CXXFLAGS="$CXXFLAGS -DUSE_OBJET_BIDON"
+ 
+ dnl Define DOUBLEVAL if bigendian
+ if test "x$ac_cv_c_bigendian" = "xyes"; then
+-- 
+2.43.0
+

diff --git a/sci-mathematics/giac/files/giac-1.9.0.93-no-fltk-buildfix.patch 
b/sci-mathematics/giac/files/giac-1.9.0.93-no-fltk-buildfix.patch
new file mode 100644
index 000000000000..970ba22c6cca
--- /dev/null
+++ b/sci-mathematics/giac/files/giac-1.9.0.93-no-fltk-buildfix.patch
@@ -0,0 +1,60 @@
+diff --git a/src/Editeur.cc b/src/Editeur.cc
+index d69dce2..f7725bb 100644
+--- a/src/Editeur.cc
++++ b/src/Editeur.cc
+@@ -3,7 +3,6 @@
+ #include "Input.h"
+ #include "Tableur.h"
+ #include "Python.h"
+-Fl_Tabs * xcas_main_tab=0;
+ #ifdef HAVE_LIBMICROPYTHON
+ extern "C" int mp_token(const char * line);
+ #endif
+@@ -27,6 +26,7 @@ extern "C" int mp_token(const char * line);
+ 
+ 
+ #ifdef HAVE_LIBFLTK
++Fl_Tabs * xcas_main_tab=0;
+ #include <FL/fl_ask.H>
+ #include <FL/fl_ask.H>
+ #include <FL/Fl_Return_Button.H>
+diff --git a/src/icas.cc b/src/icas.cc
+index a5e3711..44ec905 100644
+--- a/src/icas.cc
++++ b/src/icas.cc
+@@ -2166,11 +2166,13 @@ int main(int ARGC, char *ARGV[]){
+       printf("%s\n","Running ./xcas");
+       continue;
+       }
++#ifdef HAVE_LIBFLTK
+       if (s=="xcas"){
+       giac::gen ge; std::string filename;
+       xcas::fltk_view(0,ge,"session.xws",filename,5,contextptr);
+       continue;
+       }
++#endif
+       if (s=="giac"){
+       python_compat(python_compat(contextptr)&3,contextptr);
+       printf("%s\n","Switching to giac interpreter");
+@@ -2251,7 +2253,9 @@ int main(int ARGC, char *ARGV[]){
+ #else
+       start=clock();
+ #endif
++#ifdef HAVE_LIBFLTK
+       xcas::icas_eval(gq,ge,reading_file,filename,contextptr);
++#endif
+ #ifdef __APPLE_
+       startc=clock()-startc;
+ #endif
+@@ -2265,9 +2269,11 @@ int main(int ARGC, char *ARGV[]){
+       // 2-d plot?
+       int graph_output=graph_output_type(ge);
+       if (reading_file>=2 || graph_output || (giac::ckmatrix(ge,true) 
&&ge.subtype==giac::_SPREAD__VECT) ){
++#ifdef HAVE_LIBFLTK
+       if (xcas::fltk_view(gq,ge,"",filename,reading_file,contextptr))
+         cout << "Done";
+       else
++#endif
+         cout << "Plot cancelled or unable to plot";
+       }
+       else {

diff --git a/sci-mathematics/giac/giac-1.9.0.67.ebuild 
b/sci-mathematics/giac/giac-1.9.0.93.ebuild
similarity index 96%
rename from sci-mathematics/giac/giac-1.9.0.67.ebuild
rename to sci-mathematics/giac/giac-1.9.0.93.ebuild
index 8e4bf2f1a4ce..9f42bdacc1a7 100644
--- a/sci-mathematics/giac/giac-1.9.0.67.ebuild
+++ b/sci-mathematics/giac/giac-1.9.0.93.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
@@ -56,10 +56,9 @@ BDEPEND="dev-tex/hevea
 PATCHES=(
        "${FILESDIR}/${PN}-1.7.0.1-gsl_lapack.patch"
        "${FILESDIR}/${PN}-1.9.0.21-pari-2.15.patch"
-       "${FILESDIR}/${PN}-1.9.0.55-pari-2.15-test.patch"
-       "${FILESDIR}/${PN}-1.9.0.55-undefined-behavior.patch"
        "${FILESDIR}/${PN}-1.9.0.67-system-gl2ps.patch"
-       "${FILESDIR}/${PN}-1.9.0.67-glibcxx-assertions.patch"
+       "${FILESDIR}/${P}-glibcxx-assertions.patch"
+       "${FILESDIR}/${P}-no-fltk-buildfix.patch"
 )
 
 REQUIRED_USE="test? ( gui )"

Reply via email to