diff --git a/.gitignore b/.gitignore index f7771b0..b0df62e 100644 --- a/.gitignore +++ b/.gitignore @@ -23,3 +23,25 @@ /giac-1.5.0.85.tar.gz /giac-1.6.0.7.tar.gz /giac-1.6.0.25.tar.gz +/giac-1.7.0.1.tar.gz +/giac-1.7.0.13.tar.gz +/giac-1.7.0.29.tar.gz +/giac-1.9.0.19.tar.gz +/giac-1.9.0.29.tar.gz +/giac-1.9.0.35.tar.gz +/giac-1.9.0.37.tar.gz +/giac-1.9.0.57.tar.gz +/giac-1.9.0.59.tar.gz +/giac-1.9.0.61.tar.gz +/giac-1.9.0.63.tar.gz +/giac-1.9.0.69.tar.gz +/giac-1.9.0.73.tar.gz +/giac-1.9.0.91.tar.gz +/giac-1.9.0.97.tar.gz +/giac-1.9.0.99.tar.gz +/giac-1.9.0.992.tar.gz +/giac-1.9.0.993.tar.gz +/giac-1.9.0.998.tar.gz +/giac-1.9.0.999.tar.gz +/giac-2.0.0.17.tar.gz +/giac-2.0.0.18.tar.gz diff --git a/giac-1.6.0-fix_micropy_compiler_flags.patch b/giac-1.9.0-fix_micropy_compiler_flags.patch similarity index 57% rename from giac-1.6.0-fix_micropy_compiler_flags.patch rename to giac-1.9.0-fix_micropy_compiler_flags.patch index b417a6b..7789d51 100644 --- a/giac-1.6.0-fix_micropy_compiler_flags.patch +++ b/giac-1.9.0-fix_micropy_compiler_flags.patch @@ -5,7 +5,7 @@ CWARN = -Wall -Werror CWARN += -Wpointer-arith -Wuninitialized -CFLAGS = $(INC) $(CWARN) -std=gnu99 -DUNIX $(CFLAGS_MOD) $(COPT) $(CFLAGS_EXTRA) -+CFLAGS = $(INC) $(CWARN) ${CFLAGS_FEDORA} -std=gnu99 -DUNIX $(CFLAGS_MOD) $(COPT) $(CFLAGS_EXTRA) ++CFLAGS = $(INC) $(CWARN) -DUNIX $(CFLAGS_MOD) $(COPT) $(CFLAGS_EXTRA) ${CFLAGS_FEDORA} -std=gnu99 # Debugging/Optimization ifdef DEBUG @@ -31,7 +31,7 @@ -CWARN = -Wall #-Werror -Wno-error=cpp -Wno-error=format -CFLAGS = -fPIC -DMICROPY_LIB $(INC) $(CWARN) -ansi -std=gnu99 $(CFLAGS_MOD) $(COPT) $(CFLAGS_EXTRA) +CWARN = -Wall -+CFLAGS = -fPIC -DMICROPY_LIB $(INC) $(CWARN) ${CFLAGS_FEDORA} -ansi -std=gnu99 $(CFLAGS_MOD) $(COPT) $(CFLAGS_EXTRA) ++CFLAGS = -fPIC -DMICROPY_LIB $(INC) $(CWARN) ${CFLAGS_FEDORA} -std=gnu99 $(CFLAGS_MOD) $(COPT) $(CFLAGS_EXTRA) @@ -40,56 +40,40 @@ # source files SRC_C = $(shell find . -name \*.c) ---- micropython-1.12/nspire/Makefile.nspire.orig 2020-04-30 09:52:40.000000000 +0200 -+++ micropython-1.12/nspire/Makefile.nspire 2020-10-21 14:02:09.081234972 +0200 +--- micropython-1.12/nspire/Makefile.orig 2020-04-30 09:52:40.000000000 +0200 ++++ micropython-1.12/nspire/Makefile 2020-10-21 14:02:09.081234972 +0200 @@ -31,14 +31,14 @@ ifdef DEBUG COPT = -O0 -g else -COPT = -Os -g #-fomit-frame-pointer -flto -+COPT = -g #-fomit-frame-pointer -flto ++COPT = -g endif # compiler settings - CWARN = -Wall -Werror -Wno-error=cpp -Wno-error=format --CFLAGS = -DMICROPY_LIB $(INC) $(CWARN) -ansi -std=gnu99 $(CFLAGS_MOD) $(COPT) $(CFLAGS_EXTRA) -+CFLAGS = -DMICROPY_LIB $(INC) $(CWARN) ${CFLAGS_FEDORA} -ansi -std=gnu99 $(CFLAGS_MOD) $(COPT) $(CFLAGS_EXTRA) + CWARN = -Wall -Werror -Wno-error=cpp -Wno-error=format -Wno-error=implicit-function-declaration +-CFLAGS = -DMICROPY_LIB -mthumb-interwork $(INC) $(CWARN) -ansi -std=gnu99 $(CFLAGS_MOD) $(COPT) $(CFLAGS_EXTRA) ++CFLAGS = -DMICROPY_LIB -mthumb-interwork $(INC) $(CWARN) $(CFLAGS_FEDORA) -std=gnu99 $(CFLAGS_MOD) $(COPT) $(CFLAGS_EXTRA) -LDFLAGS = $(LDFLAGS_MOD) -lm $(LDFLAGS_EXTRA) -Wl,--nspireio -+LDFLAGS = ${LDFLAGS_FEDORA} $(LDFLAGS_MOD) -lm $(LDFLAGS_EXTRA) -Wl,--nspireio ++LDFLAGS = $(LDFLAGS_FEDORA) $(LDFLAGS_MOD) -lm $(LDFLAGS_EXTRA) -Wl,--nspireio # source files SRC_C = $(shell find . -name \*.c) ---- micropython-1.12/numworks/Makefile.simu.orig 2020-04-30 09:52:40.000000000 +0200 -+++ micropython-1.12/numworks/Makefile.simu 2020-10-21 14:04:15.408648069 +0200 +--- micropython-1.12/numworks/Makefile.orig 2020-04-30 09:52:40.000000000 +0200 ++++ micropython-1.12/numworks/Makefile 2020-10-21 14:04:15.408648069 +0200 @@ -31,16 +31,16 @@ ifdef DEBUG COPT = -O0 -g else -COPT = -Ofast -g #-fomit-frame-pointer -flto -+COPT = -g #-fomit-frame-pointer -flto ++COPT = -g endif # compiler settings CWARN = -Wall -Werror -Wno-error=cpp -Wno-error=format -CFLAGS = -DNUMWORKS -DMICROPY_LIB $(INC) $(CWARN) -ansi -std=gnu99 $(CFLAGS_MOD) $(COPT) $(CFLAGS_EXTRA) -+CFLAGS = -DNUMWORKS -DMICROPY_LIB $(INC) $(CWARN) ${CFLAGS_FEDORA} -ansi -std=gnu99 $(CFLAGS_MOD) $(COPT) $(CFLAGS_EXTRA) - CFLAGS += -fdata-sections -ffunction-sections -fno-strict-aliasing -fno-exceptions # -fpermissive - - --LDFLAGS = $(LDFLAGS_MOD) -lm $(LDFLAGS_EXTRA) -+LDFLAGS = ${LDFLAGS_FEDORA} $(LDFLAGS_MOD) -lm $(LDFLAGS_EXTRA) - - # source files - SRC_C = $(shell find . -name \*.c) ---- micropython-1.12/numworks/Makefile.numworks.orig 2020-04-30 09:52:40.000000000 +0200 -+++ micropython-1.12/numworks/Makefile.numworks 2020-10-21 14:06:40.454965360 +0200 -@@ -36,11 +36,11 @@ - - # compiler settings - CWARN = -Wall -Werror -Wno-error=cpp -Wno-error=format --CFLAGS = -DNUMWORKS -DMICROPY_LIB $(INC) $(CWARN) -ansi -std=gnu99 $(CFLAGS_MOD) $(COPT) $(CFLAGS_EXTRA) -+CFLAGS = -DNUMWORKS -DMICROPY_LIB $(INC) $(CWARN) ${CFLAGS_FEDORA} -ansi -std=gnu99 $(CFLAGS_MOD) $(COPT) $(CFLAGS_EXTRA) ++CFLAGS = -DNUMWORKS -DMICROPY_LIB $(INC) $(CWARN) $(CFLAGS_MOD) $(COPT) $(CFLAGS_EXTRA) $(CFLAGS_FEDORA) -std=gnu99 CFLAGS += -mthumb -march=armv7e-m -mfloat-abi=hard -mcpu=cortex-m7 -mfpu=fpv5-sp-d16 -fdata-sections -ffunction-sections -fno-strict-aliasing -fno-exceptions # -fpermissive diff --git a/giac-cocoalib.patch b/giac-cocoalib.patch new file mode 100644 index 0000000..f910f9f --- /dev/null +++ b/giac-cocoalib.patch @@ -0,0 +1,163 @@ +--- configure.ac.orig 2020-04-30 01:52:40.000000000 -0600 ++++ configure.ac 2020-10-27 17:05:31.732729921 -0600 +@@ -272,7 +272,7 @@ AC_ARG_ENABLE([cocoa], + [if test "$enableval" = "no"; then CONFIG_COCOA="no"; fi], []) + + if test "$CONFIG_COCOA" = "yes"; then +- AC_CHECK_HEADER(CoCoA/io.H, [], [CONFIG_COCOA="no"]) ++ AC_CHECK_HEADER(CoCoA/BigInt.H, [], [CONFIG_COCOA="no"]) + fi + if test "$CONFIG_COCOA" = "yes"; then + save_LIBS="$LIBS" +--- configure.orig 2020-04-30 01:52:40.000000000 -0600 ++++ configure 2020-10-27 17:06:22.817658796 -0600 +@@ -16662,8 +16662,8 @@ fi + + + if test "$CONFIG_COCOA" = "yes"; then +- ac_fn_cxx_check_header_mongrel "$LINENO" "CoCoA/io.H" "ac_cv_header_CoCoA_io_H" "$ac_includes_default" +-if test "x$ac_cv_header_CoCoA_io_H" = xyes; then : ++ ac_fn_cxx_check_header_mongrel "$LINENO" "CoCoA/BigInt.H" "ac_cv_header_CoCoA_BigInt_H" "$ac_includes_default" ++if test "x$ac_cv_header_CoCoA_BigInt_H" = xyes; then : + + else + CONFIG_COCOA="no" +--- src/TmpFGLM.C.orig 2019-11-03 11:23:52.000000000 -0700 ++++ src/TmpFGLM.C 2020-11-06 09:58:43.358885872 -0700 +@@ -109,14 +109,14 @@ namespace CoCoADortmund + void FGLMBasisConversion(vector& NewGB, const vector& OldGB, const PPOrdering& NewOrdering) + { + if (OldGB.empty()) +- CoCoA_ERROR(ERR::nonstandard, "FGLMBasisConversion: empty Groebner Basis vector"); ++ CoCoA_THROW_ERROR(ERR::nonstandard, "FGLMBasisConversion: empty Groebner Basis vector"); + + // Check if generated ideal is zero-dimensional + // const ideal I(AsSparsePolyRing(owner(OldGB.front())), OldGB); + const ideal I(SparsePolyRing(static_cast + (owner(OldGB.front()).myRawPtr())), OldGB); + if (!IsZeroDim(I)) +- CoCoA_ERROR(ERR::nonstandard, "FGLMBasisConversion: ideal must be 0-dimensional"); ++ CoCoA_THROW_ERROR(ERR::nonstandard, "FGLMBasisConversion: ideal must be 0-dimensional"); + + // Initialization of objects needed for computation + // const SparsePolyRing Kx = AsSparsePolyRing(owner(OldGB.front())); +--- src/TmpLESystemSolver.C.orig 2019-11-03 11:20:03.000000000 -0700 ++++ src/TmpLESystemSolver.C 2020-11-06 09:38:58.349024036 -0700 +@@ -29,6 +29,7 @@ + #include "CoCoA/matrix.H" + #include "CoCoA/ring.H" + #include "CoCoA/error.H" ++#include "CoCoA/MachineInt.H" + + // #include // Included by DenseMatrix.H + using std::vector; +@@ -50,7 +51,11 @@ namespace CoCoADortmund + + for (size_t row = 0; row < NumRowsMSource; ++row) + for (size_t col = 0; col < NumColsMSource; ++col) +- SetEntry(MTarget, row, col, MSource(row, col)); ++ { ++ const MachineInt rowInt(static_cast(row)); ++ const MachineInt colInt(static_cast(col)); ++ SetEntry(MTarget, row, col, MSource(rowInt, colInt)); ++ } + } + + // Solve the linear system M*x = b by using Gauss' algorithm +@@ -60,22 +65,23 @@ namespace CoCoADortmund + const size_t NumColsM = NumCols(M); + const size_t NumRowsb = NumRows(b); + const size_t NumColsb = NumCols(b); ++ const MachineInt zInt(0); + + // Dimension check + if (NumRowsM != NumRowsb) +- CoCoA_ERROR(ERR::BadMatrixSize, "mySolve: M and b must have same number of rows."); ++ CoCoA_THROW_ERROR(ERR::BadMatrixSize, "mySolve: M and b must have same number of rows."); + if (NumColsM != NumRows(x0)) +- CoCoA_ERROR(ERR::BadMatrixSize, "mySolve: M and x0 must have same number of columns."); ++ CoCoA_THROW_ERROR(ERR::BadMatrixSize, "mySolve: M and x0 must have same number of columns."); + if (NumCols(x0) != 1) +- CoCoA_ERROR(ERR::BadMatrixSize, "mySolve: NumCols(x0) > 1."); ++ CoCoA_THROW_ERROR(ERR::BadMatrixSize, "mySolve: NumCols(x0) > 1."); + if (NumColsb != 1) +- CoCoA_ERROR(ERR::BadMatrixSize, "mySolve: NumCols(b) > 1."); ++ CoCoA_THROW_ERROR(ERR::BadMatrixSize, "mySolve: NumCols(b) > 1."); + + // Field check; should we also check if BaseRing(M) = BaseRing(b) = BaseRing(x0)? + // ring K(BaseRing(M)); + ring K(RingOf(M)); + if (!IsField(K)) +- CoCoA_ERROR(ERR::NotField, "mySolve: Gauss' algorithm over non-fields not yet implemented."); ++ CoCoA_THROW_ERROR(ERR::NotField, "mySolve: Gauss' algorithm over non-fields not yet implemented."); + + // Create working copies of M and b + matrix MCopy(NewDenseMat(K, NumRowsM, NumColsM)); +@@ -91,13 +97,17 @@ namespace CoCoADortmund + size_t row = 0; + for (size_t col = 0; col < NumColsM && row < NumRowsM; ++col) + { ++ const MachineInt rowInt(static_cast(row)); ++ const MachineInt colInt(static_cast(col)); ++ + // Check if current column contains an element != 0 +- if (IsZero(MCopy(row, col))) ++ if (IsZero(MCopy(rowInt, colInt))) + { + size_t i = row+1; + for ( ; i < NumRowsM; ++i) + { +- if (!IsZero(MCopy(i, col))) ++ const MachineInt iInt(static_cast(i)); ++ if (!IsZero(MCopy(iInt, colInt))) + { + // Switch MCopy and bCopy rows + MCopy->mySwapRows(i, row); +@@ -113,13 +123,14 @@ namespace CoCoADortmund + positions.push_back(make_pair(row, col)); + + // Found an element != 0 in current column; apply elemination +- c = MCopy(row, col); ++ c = MCopy(rowInt, colInt); + + for (size_t i = row+1; i < NumRowsM; ++i) + { + // Transform MCopy and bCopy +- bCopy->myAddRowMul(i, row, -MCopy(i, col)/c); +- MCopy->myAddRowMul(i, row, -MCopy(i, col)/c); ++ const MachineInt iInt(static_cast(i)); ++ bCopy->myAddRowMul(i, row, -MCopy(iInt, colInt)/c); ++ MCopy->myAddRowMul(i, row, -MCopy(iInt, colInt)/c); + } + + ++row; +@@ -128,7 +139,8 @@ namespace CoCoADortmund + // row = rank(MCopy); check if a solution for the equation system exists + for (size_t i = row; i < NumRowsb; ++i) + { +- if (!IsZero(bCopy(i, 0))) ++ const MachineInt iInt(static_cast(i)); ++ if (!IsZero(bCopy(iInt, zInt))) + return false; + } + +@@ -138,13 +150,16 @@ namespace CoCoADortmund + while (!positions.empty()) + { + const size_t i = positions.back().first, j = positions.back().second; ++ const MachineInt iInt(static_cast(i)); ++ const MachineInt jInt(static_cast(j)); + +- RingElem x(bCopy(i, 0)); ++ RingElem x(bCopy(iInt, zInt)); + for (size_t k = j + 1; k < NumColsM; ++k) + { +- x -= MCopy(i, k) * x0Tmp(k, 0); ++ const MachineInt kInt(static_cast(k)); ++ x -= MCopy(iInt, kInt) * x0Tmp(kInt, zInt); + } +- SetEntry(x0Tmp, j, 0, x/MCopy(i, j)); ++ SetEntry(x0Tmp, j, 0, x/MCopy(iInt, jInt)); + + positions.pop_back(); + } diff --git a/giac-config.patch b/giac-config.patch index c7c4658..4e69123 100644 --- a/giac-config.patch +++ b/giac-config.patch @@ -1,7 +1,7 @@ diff --git a/m4/intdiv0.m4 b/m4/intdiv0.m4 index b8d7817..23fdc1d 100644 ---- m4/intdiv0.m4 -+++ m4/intdiv0.m4 +--- a/m4/intdiv0.m4 ++++ b/m4/intdiv0.m4 @@ -29,10 +29,10 @@ sigfpe_handler (sig) int sig; exit (sig != SIGFPE); } diff --git a/giac-faking_mkjs.patch b/giac-faking_mkjs.patch new file mode 100644 index 0000000..4978d74 --- /dev/null +++ b/giac-faking_mkjs.patch @@ -0,0 +1,22 @@ +--- a/src/Makefile.orig.am 2024-05-13 08:25:27.000000000 +0200 ++++ b/src/Makefile.am 2024-07-16 21:37:38.681076855 +0200 +@@ -71,7 +71,7 @@ + ./mkjs + + mkjs: mkjs.cc +- g++ mkjs.cc -o mkjs ++ g++ mkjs.cc -o mkjs.fake + + AM_CPPFLAGS = -DIN_GIAC -I$(srcdir) -I$(top_srcdir) -I$(builddir) \ + -I$(top_builddir) $(GMP_CFLAGS) $(NTL_CFLAGS) \ +--- a/src/Makefile.orig.in 2024-05-23 17:09:52.000000000 +0200 ++++ b/src/Makefile.in 2024-07-16 21:36:49.122491632 +0200 +@@ -1470,7 +1470,7 @@ + ./mkjs + + mkjs: mkjs.cc +- g++ mkjs.cc -o mkjs ++ g++ mkjs.cc -o mkjs.fake + + install-exec-hook: + rm -f $(DESTDIR)$(bindir)/cas_help diff --git a/giac-fix_graphe_file.patch b/giac-fix_graphe_file.patch new file mode 100644 index 0000000..5129aa9 --- /dev/null +++ b/giac-fix_graphe_file.patch @@ -0,0 +1,11 @@ +--- a/src/graphe.orig.cc 2021-09-06 21:27:18.514049316 +0200 ++++ b/src/graphe.cc 2021-09-06 21:27:17.150072679 +0200 +@@ -15757,7 +15757,7 @@ + continue; + std::sort(d.begin(),d.end()); + if (d==d0) { +- G.make_haar_graph(n); ++ G.make_haar_graph(int(n)); + if (is_isomorphic(G,isom,false)) { + vecteur v(k); + for (int i=0;i #endif // HAVE_LIBGSL diff --git a/giac-makesrc.sh b/giac-makesrc.sh index df64e4d..e7cca4e 100755 --- a/giac-makesrc.sh +++ b/giac-makesrc.sh @@ -4,8 +4,8 @@ # package maintainer. # -VERSION="1.6.0" -VERSIONREV="25" +VERSION="2.0.0" +VERSIONREV="18" # The upstream tarball name is: giac"$SOURCEORIG".tar.gz SOURCEORIG=_"$VERSION"-"$VERSIONREV" @@ -20,13 +20,11 @@ if [ -f "$OUTPUTFILEBASENAME".tar.gz -o -f "$OUTPUTFILEBASENAME".tar.bz2 ] ; the fi echo >&2 "Build a temporary working dir" -TARGET=$(mkdir -p "giac-src") -ORIGDIR=`pwd` -cd "$TARGET" +mkdir -p giac-src +cd giac-src echo >&2 "Downloading upstream source ..." -wget "http://www-fourier.ujf-grenoble.fr/~parisse/debian/dists/stable/main/source/giac$SOURCEORIG.tar.gz" - +wget "https://www-fourier.univ-grenoble-alpes.fr/~parisse/debian/dists/stable/main/source/giac$SOURCEORIG.tar.gz" echo >&2 "Untar upstream source ..." tar -xzf giac"$SOURCEORIG".tar.gz @@ -60,11 +58,10 @@ touch html_vall echo >&2 "Building giac source tarball ..." cd ../../../ tar -cz giac-"$VERSION" -f "$OUTPUTFILEBASENAME".tar.gz - +mv "giac"$OUTPUTFILEBASENAME".tar.gz" ../ +cd ../ echo >&2 "Cleaning extracted dir ..." rm -rf giac-src -rm -f "giac$SOURCEORIG.tar.gz" -rm -rf giac-"$VERSION" echo >&2 "Finished." diff --git a/giac-pari2.15.patch b/giac-pari2.15.patch new file mode 100644 index 0000000..ae0b52f --- /dev/null +++ b/giac-pari2.15.patch @@ -0,0 +1,30 @@ +--- giac-1.9.0/src/pari.cc.orig 2022-03-16 05:38:05.000000000 -0600 ++++ giac-1.9.0/src/pari.cc 2022-09-20 09:23:12.304717931 -0600 +@@ -749,7 +749,7 @@ namespace giac { + RET_INT=2, + RET_LONG=3 + }; +- typedef GEN (*PFGEN)(ANYARG); ++ typedef GEN (*PFGEN)(...); + + extern const unary_function_ptr * const at_pari; + static gen in_pari(const gen & args,GIAC_CONTEXT){ +@@ -884,15 +884,15 @@ namespace giac { + break; + + case RET_INT: +- m = (long)((int (*)(ANYARG))call)(_ARGS_); ++ m = (long)((int (*)(...))call)(_ARGS_); + res = stoi(m); break; + + case RET_LONG: +- m = ((long (*)(ANYARG))call)(_ARGS_); ++ m = ((long (*)(...))call)(_ARGS_); + res = stoi(m); break; + + case RET_VOID: +- ((void (*)(ANYARG))call)(_ARGS_); ++ ((void (*)(...))call)(_ARGS_); + res = gnil; break; + } + diff --git a/giac-undefine_GLIBCXX_ASSERTIONS.patch b/giac-undefine_GLIBCXX_ASSERTIONS.patch new file mode 100644 index 0000000..1b36832 --- /dev/null +++ b/giac-undefine_GLIBCXX_ASSERTIONS.patch @@ -0,0 +1,37 @@ +--- a/src/first.orig.h 2023-05-24 09:52:40.000000000 +0200 ++++ b/src/first.h 2024-02-10 19:37:26.376884368 +0100 +@@ -27,12 +27,7 @@ + #endif + + // register is deprecated in c++17 +-#define register +- +- +-#ifdef _GLIBCXX_ASSERTIONS +-#undef _GLIBCXX_ASSERTIONS +-#endif ++#define register + + #if defined NUMWORKS && !defined SDL_KHICAS + #define KHICAS 1 +--- a/src/vecteur.orig.cc 2024-06-04 08:13:22.000000000 +0200 ++++ b/src/vecteur.cc 2024-11-01 17:58:56.061073533 +0100 +@@ -8498,15 +8498,15 @@ + } + else { + int C=col+1; +- longlong * ptr= &buffer[C],*ptrend=&buffer[0]+cmax-4; +- const int *ptrN=&Nline[C]; ++ longlong * ptr= &buffer[0]+C,*ptrend=&buffer[0]+cmax-4; ++ const int *ptrN=&Nline[0]+C; + for (;ptr= 33 -%bcond_without flexiblas %endif -# giac does not support LTO -%define _lto_cflags %{nil} +%bcond_without flexiblas -%global subversion .25 +%global _lto_cflags %{nil} + +%global subversion .18 Name: giac Summary: Computer Algebra System, Symbolic calculus, Geometry -Version: 1.6.0%{subversion} -Release: 1%{?dist} -# LGPLv3+: src/Fl_GDI_Printer.cxx, src/Flv_List.cc, src/Flv_Table.cc -# BSD: src/tinymt32* -# MIT: libmicropython.a -License: GPLv3+ and MIT -URL: http://www-fourier.ujf-grenoble.fr/~parisse/giac.html +Version: 2.0.0%{subversion} +Release: %autorelease +# GPL-3.0-or-later: the project as a whole +# GPL-3.0-only: src/TmpFGLM.*, src/TmpLESystemSolver.* +# GPL-2.0-or-later: pariinl.h +# GPL-1.0-or-later OR Artistic-1.0-Perl: src/pgiac +# LGPL-3.0-or-later: src/Fl_GDK_Printer.cxx, Flv_List.cc, Flv_Table.cc +# LGPL-2.0-or-later: intl/, src/Flv_Data_Source.H, src/Flv_List.H, +# src/Flv_Table.H, src/Flve_Check_Button.H, src/Flve_Combo.H, src/Flve_Input.H +# MIT: micropython-1.12/, src/cutils.*, src/js.c, src/libbf.*, src/libregexp*, +# src/libunicode.*, src/list.h, src/qjs*, src/quickjs* +License: GPL-3.0-or-later AND GPL-3.0-only AND GPL-2.0-or-later AND (GPL-1.0-or-later OR Artistic-1.0-Perl) AND LGPL-3.0-or-later AND LGPL-2.0-or-later AND MIT +URL: https://www-fourier.univ-grenoble-alpes.fr/~parisse/giac.html ## Source package is downloaded from -## http://www-fourier.ujf-grenoble.fr/~parisse/debian/dists/stable/main/source/ +## https://www-fourier.univ-grenoble-alpes.fr/~parisse/debian/dists/stable/main/source ## and re-packed without non-free FR documentation by giac-makesrc script. Source0: %{name}-%{version}.tar.gz Source1: %{name}-makesrc.sh -Source2: xcas.appdata.xml # Recent math.h adds an iszero macro, but giac has an iszero function Patch0: %{name}-iszero.patch @@ -34,14 +40,38 @@ Patch0: %{name}-iszero.patch Patch1: %{name}-config.patch # Use Fedora compiler flags -Patch2: %{name}-1.6.0-fix_micropy_compiler_flags.patch +Patch2: %{name}-1.9.0-fix_micropy_compiler_flags.patch + +# Adapt to cocoalib 0.99700 +Patch3: %{name}-cocoalib.patch + +# https://xcas.univ-grenoble-alpes.fr/forum/viewtopic.php?f=3&t=2724 +Patch4: %{name}-fix_graphe_file.patch + +# Adapt to pari 2.15.0 +Patch5: %{name}-pari2.15.patch + +# https://xcas.univ-grenoble-alpes.fr/forum/viewtopic.php?f=3&t=2895 +Patch6: %{name}-undefine_GLIBCXX_ASSERTIONS.patch + +# 'mkjs' is not correctly compiled +# https://xcas.univ-grenoble-alpes.fr/forum/viewtopic.php?f=4&t=2930 +Patch7: %{name}-faking_mkjs.patch + +# See https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval +ExcludeArch: %{ix86} BuildRequires: autoconf, libtool BuildRequires: python3-devel BuildRequires: readline-devel -BuildRequires: gettext-devel +BuildRequires: gettext BuildRequires: gcc-c++ +BuildRequires: make +BuildRequires: cliquer-devel +BuildRequires: fdupes +%ifnarch %{ix86} BuildRequires: cocoalib-devel +%endif BuildRequires: glpk-devel BuildRequires: gmp-devel BuildRequires: gmp-ecm-devel @@ -72,8 +102,8 @@ Provides: bundled(tinymt32) # The micropython inside is a custom port with # addtional built-in modules that are linked to giac. Provides: libmicropython-static = 1.12 -Provides: libgiac-static = 1.6.0 -Provides: libxcas-static = 1.6.0 +Provides: libgiac-static = 1.9.0 +Provides: libxcas-static = 1.9.0 %global majver %(cut -d. -f1-3 <<< %{version}) @@ -107,18 +137,22 @@ Development files for libgiac. #################### %package doc -Summary: Detailed html documentation for Giac/Xcas +Summary: Detailed HTML documentation for Giac/Xcas BuildArch: noarch +%ifnarch %{ix86} BuildRequires: hevea +%endif BuildRequires: tex(latex), texinfo, texinfo-tex, texlive-stmaryrd +Requires: %{name} = %{version}-%{release} +Obsoletes: giac-doc < 0:2.0.0.18-8 # Javascript provided Provides: bundled(CodeMirror) Provides: bundled(FileSaver.js) -License: GPLv3+ and GFDL +License: GPL-3.0-or-later AND GFDL-1.1-or-later %description doc -The detailled html documentation and examples for giac and xcas. It is directly +The detailed documentation and examples for giac and xcas. It is directly accessible from xcas in many ways (browser, context search, thematic indexes). It is strongly recommended for xcas usage. Note that the french part has been removed from the original source due to non free Licence. @@ -128,7 +162,7 @@ removed from the original source due to non free Licence. # The name Xcas is better known than the name giac itself, # so many users will search for the name xcas instead of giac or giac-gui. Summary: GUI application for Giac -Provides: xcas = %{version}-%{release} +Provides: xcas%{?_isa} = %{version}-%{release} Requires: %{name}%{?_isa} = %{version}-%{release} Requires: hicolor-icon-theme @@ -136,7 +170,7 @@ Requires: hicolor-icon-theme Xcas is the Fltk graphic user interface to the computer algebra system giac. It supports formal computations, interactive 2D geometry, 3D plotting, spreadsheets with formal calculus and a Logo mode. There is also a programming -editor, and many ways to consult the html help. +editor, and many ways to consult the HTML help. #################### %package -n pgiac @@ -147,11 +181,20 @@ BuildRequires: perl-generators Requires: %{name} = %{version}-%{release} %description -n pgiac -The pgiac command is a perl script to mix Latex documents +The pgiac command is a Perl script to mix Latex documents with Giac computations. %prep -%autosetup -p0 -n %{name}-%{majver} +%autosetup -n %{name}-%{majver} -N + +%patch -P 0 -p1 -b .backup +%patch -P 1 -p1 -b .backup +%patch -P 2 -p0 -b .backup +%patch -P 3 -p0 -b .backup +%patch -P 4 -p1 -b .backup +%patch -P 5 -p1 -b .backup +%patch -P 6 -p1 -b .backup +%patch -P 7 -p1 -b .backup # Remove local intl (already bundled in fedora) rm -rf intl/*.h @@ -173,7 +216,7 @@ chmod -x examples/lewisw/fermat* find doc -name *~ -delete # Unbundle texinfo file -sed -i 's|config/texinfo.tex|%{_datadir}/texmf/tex/texinfo/texinfo.tex|g' Makefile.in +sed -i 's|config/texinfo.tex|%{_texmf_main}/tex/texinfo/texinfo.tex|g' Makefile.in rm -f config/texinfo.tex # Remove hidden files @@ -181,36 +224,49 @@ rm -f examples/Exemples/demo/._* rm -f examples/Exemples/analyse/._* %if %{with flexiblas} -sed -e 's|LIB(blas|LIB(flexiblas|g' -e 's|LIB(lapack|LIB(flexiblas|g' -i configure.ac -sed -e 's|-lblas|-lflexiblas|g' -e 's|-llapack|-lflexiblas|g' -i configure +sed -e 's|LIB(blas|LIB(flexiblas|g' -e 's|LIB(lapack|LIB(flexiblas|g' \ + -e 's|-lgslcblas|-lflexiblas|' -i configure.ac %endif # Prepare Micropython lib's License cp -p micropython-1.12/LICENSE micropython-1.12/micropython-LICENSE -# Needs a reconfiguration +# Update configure.ac obsolete macros +autoupdate -vf + +# Re-configuration autoreconf -ivf %build -export CXXFLAGS="-std=gnu++14 %build_cxxflags" -export CFLAGS="%build_cflags" -%configure --enable-static=yes --with-included-gettext=no --enable-nls=yes \ +# https://xcas.univ-grenoble-alpes.fr/forum/viewtopic.php?f=4&t=2817 +OPT_FLAGS=$(echo "%build_cxxflags" | %{__sed} -e 's/-Werror=format-security/-Wno-error=format-security/') +export CXXFLAGS="$OPT_FLAGS -fpermissive -std=gnu++17" +export CFLAGS_FEDORA="$OPT_FLAGS -std=gnu17" +%configure --enable-static=yes --with-included-gettext=no --enable-nls=no \ --enable-tommath=no --enable-debug=no --enable-gc=no --enable-sscl=no \ --enable-dl=yes --enable-gsl=yes --enable-lapack=yes --enable-pari=yes \ --enable-ntl=yes --enable-gmpxx=yes --enable-cocoa=autodetect \ - --enable-gui=yes --disable-rpath + --enable-gui=yes --disable-rpath \ +%ifarch %{power64} + --disable-micropy +%endif # The --disable-rpath option of configure was not enough to get rid of the hardcoded libdir sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool -# Fix unused-direct-shlib-dependency with libgslcblas.so.0 and libgfortran.so.3 -sed -i -e 's! -shared ! -Wl,--as-needed\0!g' libtool +# Compile 'mkjs' executable +# See patch7's comment +export OPT_FLAGS=$(echo "%build_cxxflags" | %{__sed} -e 's/-Werror=format-security/-Wno-error=format-security/') +g++ $OPT_FLAGS -fpermissive -std=gnu++17 src/mkjs.cc -o src/mkjs +# -export CXXFLAGS="-std=gnu++14 %build_cxxflags" -export CFLAGS_FEDORA="%build_cflags" -export LDFLAGS_FEDORA="%build_ldflags" -%make_build V=1 +# https://xcas.univ-grenoble-alpes.fr/forum/viewtopic.php?f=4&t=2817 +OPT_FLAGS=$(echo "%build_cflags" | %{__sed} -e 's/-Werror=format-security/-Wno-error=format-security/') +export CXXFLAGS="$OPT_FLAGS -fpermissive -std=gnu++17" +export CFLAGS_FEDORA="$OPT_FLAGS -std=gnu17" +export LDFLAGS_FEDORA="$OPT_FLAGS" +%make_build # Rebuild giac_*.info and Convert info file to utf-8 (cd doc ; make) @@ -225,7 +281,9 @@ done %make_install # Install libmicropython.a library +%ifnarch %{power64} install -pm 644 libmicropython.a %{buildroot}%{_libdir}/ +%endif # Install libxcas.a library install -pm 644 src/.libs/libxcas.a %{buildroot}%{_libdir}/ @@ -236,25 +294,29 @@ cp -p src/tinymt32_license.h LICENSE.tinymt32 # Remove unwanted files. rm -f %{buildroot}%{_infodir}/dir rm -rf %{buildroot}%{_datadir}/application-registry + # The .la is still built despite the built of libgiac.a has been disabled rm -f %{buildroot}%{_libdir}/libgiac.la + # I have tried to remove the empty files in the setup stage, it was not a good idea # because make install will then require hevea as an extra (and big) dependancy and I guess # that it will recreate those empty files, so it's better to delete them here. find %{buildroot} -size 0 -delete -find %{buildroot} -name *~ -delete + # Obsolete symbolic link rm -f %{buildroot}%{_bindir}/xcasnew # + +# Remove wasm file (??) with Bad Magic Number +rm -f %{buildroot}%{_docdir}/giacwasm.wasm + # Mime package was not installed. install -pm 644 -D debian/giac.sharedmimeinfo \ %{buildroot}%{_datadir}/mime/packages/giac.xml # -# Install/check appdata file. -install -pm 644 -D %{SOURCE2} \ - %{buildroot}%{_datadir}/metainfo/xcas.appdata.xml -appstream-util validate-relax --nonet %{buildroot}%{_datadir}/metainfo/*.appdata.xml +# Check appdata file +appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/*.metainfo.xml # # Add extra pdf docs. (NB: make dvi gives only the same doc in dvi format) @@ -263,6 +325,8 @@ install -pm 644 -t %{buildroot}%{_datadir}/giac/doc/en doc/en/*.pdf install -pm 644 -t %{buildroot}%{_datadir}/giac/doc/el doc/el/*.pdf install -pm 644 -t %{buildroot}%{_datadir}/giac/doc/es doc/es/*.pdf +find %{buildroot}%{_datadir}/giac -name 'Makefile*' -exec rm {} \; + # Symlinks used by QCAS and giacpy mkdir -p %{buildroot}%{_datadir}/giac/doc/fr ln -sf -T %{_datadir}/giac/doc/aide_cas %{buildroot}%{_datadir}/giac/doc/fr/aide_cas @@ -279,14 +343,17 @@ install -pm 644 debian/giac.1 %{buildroot}%{_mandir}/man1 install -pm 644 debian/cas_help.1 %{buildroot}%{_mandir}/man1 install -pm 644 debian/pgiac.1 %{buildroot}%{_mandir}/man1 -# Add a link for FR env users to have the english help instead of a page -# not found. -mkdir -p %{buildroot}%{_datadir}/giac/doc/fr -(cd %{buildroot}%{_datadir}/giac/doc/fr ; ln -s ../en/cascmd_en cascmd_fr ) +# khicas.nwa is an arch-dependent executable file (ELF 32-bit LSB relocatable, ARM, EABI5 version 1) +# I moving it from noarch giac-doc to giac package +mkdir -p %{buildroot}%{_libexecdir}/giac +cp -p %{buildroot}%{_datadir}/giac/doc/khicas.nwa %{buildroot}%{_libexecdir}/giac/ +ln -sfv %{_libexecdir}/giac/khicas.nwa %{buildroot}%{_datadir}/giac/doc/khicas.nwa -%find_lang %{name} -desktop-file-install --vendor="" --remove-key=Encoding --dir=%{buildroot}%{_datadir}/applications/\ - %{buildroot}%{_datadir}/applications/xcas.desktop +#find_lang %%{name} +desktop-file-install --vendor="" --remove-key=Encoding \ + --set-key=Version --set-value=1.0 \ + --dir=%{buildroot}%{_datadir}/applications/ \ + %{buildroot}%{_datadir}/applications/xcas.desktop # Create a list of files non required at runtime by icas nor xcas # that are under %%{_datadir}/giac/doc for packaging in giac-doc @@ -320,22 +387,38 @@ find %{buildroot}%{_datadir}/giac/doc -maxdepth 2 -type l| \ grep -v -E "%{_datadir}/giac/doc/aide_cas$" | \ sed -e "s:%{buildroot}::" >>giacdoclist +# Change permissions to following files +chmod a+x %{buildroot}%{_datadir}/giac/doc/send18 +chmod a+x %{buildroot}%{_datadir}/giac/doc/send19 + +# Symlink duplicated files +%fdupes -s %{buildroot}%{_datadir} + %if %{with check} %check -export LD_LIBRARY_PATH=../src/.libs +export LD_LIBRARY_PATH=%{buildroot}%{_libdir} make -C check check +# This is for debugging purpose only +#make -j1 -C check check +#cat check/test-suite.log %endif -%files -f %{name}.lang +%files %license COPYING micropython-1.12/micropython-LICENSE %license LICENSE.tinymt32 %{_bindir}/icas %{_bindir}/giac %{_bindir}/hevea2mml %{_bindir}/*_help -%{_libdir}/libgiac.so.* +%{_libdir}/libgiac.so.0.0.0 +%{_libdir}/libgiac.so.0 +%{_libdir}/libxcas.so.0.0.0 +%{_libdir}/libxcas.so.0 %{_libdir}/libgiac.a +%{_libexecdir}/giac/khicas.nwa +%ifnarch %{power64} %{_libdir}/libmicropython.a +%endif %{_libdir}/libxcas.a # The following files are required at runtime by icas AND xcas. # (Ex: if LANG is fr, alea(5) should give an INT) @@ -363,6 +446,7 @@ make -C check check # The gui files %files xcas %{_bindir}/xcas +%{_datadir}/giac/xcas.html # The dirs shared %dir %{_datadir}/giac %dir %{_datadir}/giac/doc @@ -381,7 +465,7 @@ make -C check check # Files under dirs shared with other packages %{_datadir}/applications/xcas.desktop -%{_datadir}/metainfo/xcas.appdata.xml +%{_metainfodir}/xcas.metainfo.xml %{_datadir}/mime/packages/giac.xml %{_datadir}/pixmaps/xcas.xpm %{_datadir}/icons/hicolor/*/apps/xcas.png @@ -394,6 +478,7 @@ make -C check check %files devel %{_includedir}/giac/ %{_libdir}/libgiac.so +%{_libdir}/libxcas.so # DOC Files %files doc -f giacdoclist @@ -409,9 +494,9 @@ make -C check check # character encoding. # - The .cas and .cxx files are giac code and function. They are text files # -# NB: %%{_docdir}/giac is in the -filsystem package +# NB: _docdir/giac is in the -filsystem package %{_docdir}/giac/* -# Add all the files that are in %%{_datadir}/giac but not giac/aide_cas +# Add all the files that are in _datadir/giac but not giac/aide_cas # and not those in giac/doc/ %dir %{_datadir}/giac %dir %{_docdir}/giac @@ -429,292 +514,4 @@ make -C check check %{_datadir}/giac/examples/ %changelog -* Wed Oct 21 2020 Antonio Trande 1.6.0.25-1 -- Update to 1.6.0 sub-25 -- Patch configure.ac instead of configure.in - -* Thu Aug 27 2020 Iñaki Úcar - 1.6.0.7-5 -- https://fedoraproject.org/wiki/Changes/FlexiBLAS_as_BLAS/LAPACK_manager - -* Tue Aug 18 2020 Jeff Law - 1.6.0.7-4 -- Force C++14 as this code is not C++17 ready - -* Sat Aug 01 2020 Fedora Release Engineering - 1.6.0.7-3 -- Second attempt - Rebuilt for - https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Mon Jul 27 2020 Fedora Release Engineering - 1.6.0.7-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Sun Jul 19 2020 Antonio Trande 1.6.0.7-1 -- Update to 1.6.0 sub-7 - -* Tue Jun 30 2020 Jeff Law - 1.5.0.85-4 -- Fix broken configure test compromised by LTO - -* Tue Jun 2 2020 Jerry James - 1.5.0.85-3 -- Rebuild for nauty 2.7.1 - -* Fri Mar 20 2020 Jerry James - 1.5.0.85-2 -- Rebuild for CoCoAlib 0.99700 -- Add cocoalib patch -- Build with gmp-ecm, libcurl, libsamplerate, and nauty support - -* Tue Feb 04 2020 Antonio Trande 1.5.0.85-1 -- Update to 1.5.0 sub-85 - -* Tue Jan 28 2020 Fedora Release Engineering - 1.5.0.75-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Thu Jan 9 2020 Jerry James - 1.5.0.75-3 -- Rebuild for ntl 11.4.3 - -* Sat Dec 7 2019 Jerry James - 1.5.0.75-2 -- Rebuild for CoCoAlib 0.99650 again - -* Thu Nov 28 2019 Antonio Trande 1.5.0.75-1 -- Update to 1.5.0 sub-75 -- Drop cocoalib patch - -* Wed Nov 27 2019 Jerry James - 1.5.0.63-4 -- Rebuild for CoCoAlib 0.99650 - -* Fri Oct 11 2019 Jerry James - 1.5.0.63-3 -- Rebuild for mpfr 4 - -* Tue Sep 24 2019 Jerry James - 1.5.0.63-2 -- Rebuild for ntl 11.3.4 - -* Sat Sep 14 2019 Antonio Trande 1.5.0.63-1 -- Update to 1.5.0 sub-63 - -* Tue Aug 20 2019 Susi Lehtola - 1.5.0.53-3 -- Rebuilt for GSL 2.6. - -* Thu Jul 25 2019 Fedora Release Engineering - 1.5.0.53-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Sat May 18 2019 Antonio Trande 1.5.0.53-1 -- Update to 1.5.0 sub-53 - -* Wed Apr 24 2019 Björn Esser - 1.5.0.35-4 -- Remove hardcoded gzip suffix from GNU info pages - -* Sun Feb 17 2019 Igor Gnatenko - 1.5.0.35-3 -- Rebuild for readline 8.0 - -* Thu Jan 31 2019 Fedora Release Engineering - 1.5.0.35-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Mon Jan 14 2019 Antonio Trande 1.5.0.35-1 -- Update to 1.5.0 sub-35 - -* Sat Oct 13 2018 Jerry James - 1.5.0.3-2 -- Rebuild for ntl 11.3.0 - -* Wed Oct 10 2018 Antonio Trande 1.5.0.3-1 -- Update to 1.5.0 sub-3 - -* Fri Aug 10 2018 Jerry James - 1.4.9.59-5 -- Rebuild for CoCoAlib 0.99600, ntl 11.2.1, and pari 2.11.0 - -* Fri Jul 13 2018 Fedora Release Engineering - 1.4.9.59-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Tue Jul 3 2018 Jerry James - 1.4.9.59-3 -- Build with CoCoAlib, glpk, and libao support -- Remove scriptlets that call install-info - -* Sat Jun 2 2018 Jerry James - 1.4.9.59-2 -- Rebuild for libfplll 5.2.1 and mpfi 1.5.3 - -* Fri May 18 2018 Antonio Trande 1.4.9.59-1 -- Update to 1.4.9 sub-59 -- Tests still disabled (some of them fail again) - -* Wed Mar 28 2018 Peter Robinson 1.4.9.45-5 -- Build on all arches (tests now pass) - -* Fri Feb 16 2018 Antonio Trande - 1.4.9.45-4 -- Use %%ldconfig_scriptlets - -* Wed Feb 07 2018 Fedora Release Engineering - 1.4.9.45-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Sat Feb 03 2018 Antonio Trande 1.4.9.45-2 -- Re-set previous ldconfig scripts - -* Sat Feb 03 2018 Antonio Trande 1.4.9.45-1 -- Update to 1.4.9 sub-45 -- Use %%ldconfig_scriptlets - -* Thu Jan 11 2018 Igor Gnatenko - 1.4.9.43-2 -- Remove obsolete scriptlets - -* Sun Dec 24 2017 Antonio Trande 1.4.9.43-1 -- Update to 1.4.9 sub-43 - -* Thu Dec 21 2017 Antonio Trande 1.4.9.41-3 -- Symlink restored - -* Thu Dec 21 2017 Antonio Trande 1.4.9.41-2 -- Undo latest symlink changes - -* Sun Dec 17 2017 Antonio Trande 1.4.9.41-1 -- Update to 1.4.9 sub-41 -- Appdata file moved into metainfo shared data directory - -* Sat Dec 02 2017 Antonio Trande 1.4.9.33-1 -- Update to 1.4.9 sub-33 -- Fix symlinks - -* Fri Dec 01 2017 Antonio Trande 1.4.9.29-2 -- Make symlinks used by QCAS - -* Thu Nov 30 2017 Antonio Trande 1.4.9.29-1 -- Update to 1.4.9 sub-29 - -* Thu Sep 28 2017 Jerry James - 1.2.3.57-1 -- Rebuild for ntl 10.5.0 -- Fix versioning scheme - -* Wed Aug 02 2017 Fedora Release Engineering - 1.2.3-9.57 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Thu Jul 27 2017 Antonio Trande 1.2.3-8.57 -- Update to 1.2.3 sub-57 - -* Wed Jul 26 2017 Fedora Release Engineering - 1.2.3-7.49 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Thu Jul 13 2017 Petr Pisar - 1.2.3-6.49 -- perl dependency renamed to perl-interpreter - -* Sun Jun 11 2017 Antonio Trande 1.2.3-5.49 -- Update to 1.2.3 sub-49 - -* Sun May 14 2017 Peter Robinson 1.2.3-4.43 -- Bump Release so upgrade path works - -* Fri May 12 2017 Antonio Trande 1.2.3-1.43 -- Update to 1.2.3 sub-43 - -* Wed Apr 05 2017 Jerry James - 1.2.3-3.25 -- Rebuild for ntl 10.3.0 -- Make EVR greater than 1.2.3-3.13 - -* Sun Feb 19 2017 Antonio Trande 1.2.3-1.25 -- Update to 1.2.3 sub-25 - -* Fri Feb 10 2017 Fedora Release Engineering - 1.2.3-3.13 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Sat Jan 21 2017 Peter Robinson 1.2.3-2.13 -- Adjust release so it's newer than the previous rev - -* Wed Jan 18 2017 Antonio Trande 1.2.3-1.13 -- Update to 1.2.3 sub-13 - -* Thu Jan 12 2017 Igor Gnatenko - 1.2.3-2.9 -- Rebuild for readline 7.x - -* Thu Jan 05 2017 Antonio Trande 1.2.3-1.9 -- Update to 1.2.3 sub-9 -- Conformed to new rules for scriptlets - -* Sun Dec 25 2016 Antonio Trande 1.2.2-14.105 -- Update to subversion 105 - -* Fri Dec 02 2016 Paul Howarth 1.2.2-13.103 -- Rebuild for pari 2.9.0 - -* Tue Nov 15 2016 Antonio Trande 1.2.2-12.103 -- Update to subversion 103 - -* Thu Oct 20 2016 Jerry James 1.2.2-11.85 -- Rebuild for ntl 10.1.0 -- Add -iszero patch to fix breakage with recent glibc versions - -* Tue Sep 27 2016 Antonio Trande 1.2.2-10.85 -- Update to subversion 85 - -* Mon Sep 05 2016 Jerry James 1.2.2-9.75 -- Rebuild for ntl 9.11.0 - -* Mon Jul 25 2016 Jerry James 1.2.2-8.75 -- Rebuild for ntl 9.10.0 - -* Fri Jul 15 2016 Antonio Trande 1.2.2-7.75 -- Update to subversion 75 - -* Thu Jul 07 2016 Antonio Trande 1.2.2-6.63 -- Exclude s390x - -* Sat Jul 02 2016 Antonio Trande 1.2.2-5.63 -- Fix directories ownership -- Exclude PPC and aarch64 - -* Thu Jun 30 2016 Antonio Trande 1.2.2-4.63 -- Update to subversion 63 -- Add libXinerama BR -- Fix co-owning of documentation sub-directories -- Fix appdata file -- Add Provides tags - -* Thu May 19 2016 Antonio Trande 1.2.2-3.45 -- Source tarball repacked without non-free docs -- Licenses combined in GPLv3+ only - -* Fri May 13 2016 Antonio Trande 1.2.2-2 -- Fix required package of pgiac - -* Fri May 13 2016 Antonio Trande 1.2.2-1 -- Update to 1.2.2 -- pgiac script packaged separately -- Fix cSolveorder check -- Update scriptlets -- Add appdata file -- Excluded PPC and aarch64 -- Drop the filesystem sub-package - -* Sun Jul 6 2014 Frederic Han 1.1.1-1 -- Update to current stable upstream version. Remove obsolete patches. -- Add mpfi-devel dependency. (New feature in 1.1.1) -- Add requires of hicolor-icon-theme instead of owning dirs. - -* Sun Apr 27 2014 Frederic Han 1.1.0-1 -- Let the doc package be independent of the binary packages. So create - a filesystem package containing the shared directories - -* Wed Apr 16 2014 Frederic Han 1.1.0-1 -- Dont delete intl/Makefile to avoid Makefile and configure modif/rebuilt -- Create a file list: giacdocfile for giac/doc files that are not needed - at runtime -- Remove %%dir %%{_datadir}/mime and %%dir %%{_datadir}/mime/packages from - giac-xcas package list - -* Mon Apr 14 2014 Frederic Han 1.1.0-1 -- Add tinymt32 License in %%doc, and LGPLv2+ tag -- Add gettext-devel in BR and disable included intl -- removed doc/*/texinfo.tex, add BR texinfo, and rebuild *.info with - the system texinfo.tex file for License clarity, also convert them to utf-8 -- Add missing %%dir in %%files xcas and %%files -- Fix unused-direct-shlib-dependency for libgiac -- Remove x perms in examples, clean backup files -- Move the mime and desktop updates to %%post xcas and %%postun xcas -- Add a warning to *not* try to convert .xws files to UTF-8 - -* Fri Apr 11 2014 Frederic Han 1.1.0-1 -- Initial version -- Found GPLv3 and v2 files in 1.1.0 sources. So package the GPLv3 LICENSE. -- Put GPLv3+ tag on the -doc package according to 1.1.1. -- Rename the package giac-gui to giac-xcas. -- Add a check patch and make check. -- Some files of %%{_datadir}/giac are need at runtime. So, - add them in the main or -xcas package filelist. -- Move all the %%{_docdir}/giac files except LICENSE to the -doc package -- Add extra pdf doc found in source archive. -- Untabify spec file. -- remove the README patch to keep the original 1.1.0 unchanged. add a README.fedora - to explain the License evolution of giac non FR doc. -- Improve giac.1 manpage. +%autochangelog diff --git a/sources b/sources index 6d7c54e..0a2dd00 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (giac-1.6.0.25.tar.gz) = 9ea9bada0592267d267df31706fefa2a5928258d215d844088e8a8a1f10d9d7015ee02bce00ed51b64fb006c03b0b93d00e878bc8bc6bf08f96686d5265fffa5 +SHA512 (giac-2.0.0.18.tar.gz) = 9b92320c21a94c758e4c18d5393c91f5cd2e2eb66c13ad4aeeb66c70bb53181fb8f82e5288a1c18bf4ae870f132baf6af0ffa5940819d40187b045de24503edc diff --git a/xcas.appdata.xml b/xcas.appdata.xml deleted file mode 100644 index 29740af..0000000 --- a/xcas.appdata.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - xcas.desktop - CC0-1.0 - Computer Algebra System, Symbolic calculus, Geometry - xcas - GPL-3.0+ - - Education - Math - - -

- Giac is a Computer Algebra System made by Bernard Parisse. It provides - features from the C/C++ libraries PARI, NTL (arithmetic), GSL (numerics), - GMP (big integers), MPFR (bigfloats) and also:

-
    -
  • Efficient algorithms for multivariate polynomial operations - (product, GCD, factorization, groebner bases)
  • -
  • Symbolic computations: solver, simplifications, limits/series, - integration
  • -
  • Linear algebra with numerical or symbolic coefficients
  • -
  • Partial Maple and TI compatibility
  • -
  • It has interfaces in texmacs and sagemath
  • -
-

It consists of:

-
    -
  • A C++ library (libgiac)
  • -
  • A command line interpreter (icas/giac)
  • -
  • An FLTK-based GUI (xcas) with interactive geometry and formal - spreadsheets
  • -
-
- giac - http://www-fourier.ujf-grenoble.fr/~parisse/giac.html - http://xcas.e.ujf-grenoble.fr/XCAS/ - - - https://sagitter.fedorapeople.org/giac-screenshots/xcas1.png - Newton's method - - - https://sagitter.fedorapeople.org/giac-screenshots/xcas2.png - Hexagon animation - - - https://sagitter.fedorapeople.org/giac-screenshots/xcas3.png - Animated cube - - - https://sagitter.fedorapeople.org/giac-screenshots/xcas4.png - Spreadsheet showing Newton's method - - - sagitter_at_fedoraproject.org - Bernard Parisse -