diff --git a/.gitignore b/.gitignore index b0df62e..1ee0a05 100644 --- a/.gitignore +++ b/.gitignore @@ -18,30 +18,3 @@ /giac-1.5.0.3.tar.gz /giac-1.5.0.35.tar.gz /giac-1.5.0.53.tar.gz -/giac-1.5.0.63.tar.gz -/giac-1.5.0.75.tar.gz -/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.9.0-fix_micropy_compiler_flags.patch b/giac-1.9.0-fix_micropy_compiler_flags.patch deleted file mode 100644 index 7789d51..0000000 --- a/giac-1.9.0-fix_micropy_compiler_flags.patch +++ /dev/null @@ -1,84 +0,0 @@ ---- micropython-1.12/ports/unix/Makefile.orig 2020-10-21 13:52:17.066827941 +0200 -+++ micropython-1.12/ports/unix/Makefile 2020-10-21 13:55:01.614107239 +0200 -@@ -27,14 +27,14 @@ - # compiler settings - CWARN = -Wall -Werror - CWARN += -Wpointer-arith -Wuninitialized --CFLAGS = $(INC) $(CWARN) -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 - CFLAGS += -g - COPT = -O0 - else --COPT = -Os -fdata-sections -ffunction-sections -DNDEBUG -+COPT = -fdata-sections -ffunction-sections -DNDEBUG - # _FORTIFY_SOURCE is a feature in gcc/glibc which is intended to provide extra - # security for detecting buffer overflows. Some distros (Ubuntu at the very least) - # have it enabled by default. ---- micropython-1.12/xcas/Makefile.orig 2020-10-21 15:27:04.025499976 +0200 -+++ micropython-1.12/xcas/Makefile 2020-10-21 15:30:30.579300358 +0200 -@@ -32,16 +32,16 @@ - ifdef DEBUG - COPT = -g - else --COPT = -g #-fomit-frame-pointer -flto -+COPT = -g - endif - - # compiler settings --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} -std=gnu99 $(CFLAGS_MOD) $(COPT) $(CFLAGS_EXTRA) - - - --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/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 - endif - - # compiler settings - 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 - - # source files - SRC_C = $(shell find . -name \*.c) ---- 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 - 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_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 - - --LDFLAGS = $(LDFLAGS_MOD) -lm $(LDFLAGS_EXTRA) -+LDFLAGS = ${LDFLAGS_FEDORA} $(LDFLAGS_MOD) -lm $(LDFLAGS_EXTRA) - - # source files - SRC_C = $(shell find . -name \*.c) diff --git a/giac-cocoa.patch b/giac-cocoa.patch new file mode 100644 index 0000000..c8b580b --- /dev/null +++ b/giac-cocoa.patch @@ -0,0 +1,84 @@ +--- configure.orig 2017-11-21 23:57:49.000000000 -0700 ++++ configure 2018-06-10 15:03:48.540821997 -0600 +@@ -16249,7 +16249,7 @@ 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" ++ ac_fn_cxx_check_header_mongrel "$LINENO" "CoCoA/ring.H" "ac_cv_header_CoCoA_io_H" "$ac_includes_default" + if test "x$ac_cv_header_CoCoA_io_H" = xyes; then : + + else +--- src/cocoa.cc.orig 2017-12-15 01:30:15.000000000 -0700 ++++ src/cocoa.cc 2018-07-04 07:33:24.545947035 -0600 +@@ -23,9 +23,12 @@ + #endif + #include + #include ++#include ++#include + #include + #include +-#include ++#include ++#include + #include + #include "TmpFGLM.H" + #endif +@@ -115,7 +118,7 @@ namespace giac { + return CoCoA::BigInt(g.val); + case _ZINT: + #ifdef COCOA9950 +- return CoCoA::BigInt(*g._ZINTptr); ++ return CoCoA::BigIntFromMPZ(*g._ZINTptr); + #else + return CoCoA::BigInt(CoCoA::CopyFromMPZ,*g._ZINTptr); + #endif +--- src/TmpFGLM.C.orig 2014-04-09 07:24:39.000000000 -0600 ++++ src/TmpFGLM.C 2018-07-04 11:06:20.556657555 -0600 +@@ -31,7 +31,10 @@ + #include "CoCoA/QBGenerator.H" + #include "CoCoA/RingDistrMPolyInlPP.H" + #include "CoCoA/RingHom.H" ++#include "CoCoA/SparsePolyIter.H" + #include "CoCoA/SparsePolyRing.H" ++#include "CoCoA/SparsePolyOps-ideal.H" ++#include "CoCoA/SparsePolyOps-RingElem.H" + + // #include + using std::size_t; +@@ -81,7 +84,7 @@ namespace CoCoADortmund + // ToDo: Avoid this tedious if-else block + if (entry == MatrixMap.end()) + { +- ring K = CoeffRing(AsSparsePolyRing(owner(p))); ++ ring K = CoeffRing(SparsePolyRing(owner(p))); + struct MatrixMapEntry NewEntry(zero(K)); + NewEntry.VarIndices.push_back(NumCols); + NewEntry.coeffs.push_back(coeff(m)); +@@ -107,12 +110,12 @@ namespace CoCoADortmund + CoCoA_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(owner(OldGB.front())), OldGB); + if (!IsZeroDim(I)) + CoCoA_ERROR(ERR::nonstandard, "FGLMBasisConversion: ideal must be 0-dimensional"); + + // Initialization of objects needed for computation +- const SparsePolyRing Kx = AsSparsePolyRing(owner(OldGB.front())); ++ const SparsePolyRing Kx = SparsePolyRing(owner(OldGB.front())); + const ring K = CoeffRing(Kx); + const PPMonoid PPMon = PPM(Kx); + const RingElem FieldOne(one(K)); +--- src/TmpLESystemSolver.C.orig 2014-04-09 07:20:13.000000000 -0600 ++++ src/TmpLESystemSolver.C 2018-06-10 16:59:42.449803650 -0600 +@@ -72,7 +72,7 @@ namespace CoCoADortmund + CoCoA_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."); + diff --git a/giac-cocoalib.patch b/giac-cocoalib.patch deleted file mode 100644 index f910f9f..0000000 --- a/giac-cocoalib.patch +++ /dev/null @@ -1,163 +0,0 @@ ---- 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 deleted file mode 100644 index 4e69123..0000000 --- a/giac-config.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff --git a/m4/intdiv0.m4 b/m4/intdiv0.m4 -index b8d7817..23fdc1d 100644 ---- a/m4/intdiv0.m4 -+++ b/m4/intdiv0.m4 -@@ -29,10 +29,10 @@ sigfpe_handler (sig) int sig; - exit (sig != SIGFPE); - } - --int x = 1; --int y = 0; --int z; --int nan; -+volatile int x = 1; -+volatile int y = 0; -+volatile int z; -+volatile int nan; - - int main () - { diff --git a/giac-faking_mkjs.patch b/giac-faking_mkjs.patch deleted file mode 100644 index 4978d74..0000000 --- a/giac-faking_mkjs.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- 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 deleted file mode 100644 index 5129aa9..0000000 --- a/giac-fix_graphe_file.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- 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 e7cca4e..de5ae75 100755 --- a/giac-makesrc.sh +++ b/giac-makesrc.sh @@ -4,8 +4,8 @@ # package maintainer. # -VERSION="2.0.0" -VERSIONREV="18" +VERSION="1.5.0" +VERSIONREV="53" # The upstream tarball name is: giac"$SOURCEORIG".tar.gz SOURCEORIG=_"$VERSION"-"$VERSIONREV" @@ -20,11 +20,13 @@ if [ -f "$OUTPUTFILEBASENAME".tar.gz -o -f "$OUTPUTFILEBASENAME".tar.bz2 ] ; the fi echo >&2 "Build a temporary working dir" -mkdir -p giac-src -cd giac-src +TARGET=$(mkdir -p "giac-src") +ORIGDIR=`pwd` +cd "$TARGET" echo >&2 "Downloading upstream source ..." -wget "https://www-fourier.univ-grenoble-alpes.fr/~parisse/debian/dists/stable/main/source/giac$SOURCEORIG.tar.gz" +wget "http://www-fourier.ujf-grenoble.fr/~parisse/debian/dists/stable/main/source/giac$SOURCEORIG.tar.gz" + echo >&2 "Untar upstream source ..." tar -xzf giac"$SOURCEORIG".tar.gz @@ -58,10 +60,11 @@ 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 deleted file mode 100644 index ae0b52f..0000000 --- a/giac-pari2.15.patch +++ /dev/null @@ -1,30 +0,0 @@ ---- 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 deleted file mode 100644 index 1b36832..0000000 --- a/giac-undefine_GLIBCXX_ASSERTIONS.patch +++ /dev/null @@ -1,37 +0,0 @@ ---- 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 9950 +Patch1: %{name}-cocoa.patch -# Deal with LTO compromised configure test -Patch1: %{name}-config.patch - -# Use Fedora compiler flags -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 +BuildRequires: gettext-devel 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 BuildRequires: gsl-devel -BuildRequires: libnauty-devel BuildRequires: mpfr-devel BuildRequires: ntl-devel BuildRequires: pari-devel -%if %{with flexiblas} -BuildRequires: flexiblas-devel -%else -BuildRequires: blas-devel, lapack-devel -%endif +BuildRequires: lapack-devel BuildRequires: mpfi-devel BuildRequires: mesa-libGL-devel BuildRequires: libao-devel -BuildRequires: libcurl-devel BuildRequires: libpng-devel BuildRequires: libjpeg-devel -BuildRequires: libsamplerate-devel BuildRequires: fltk-devel BuildRequires: libXinerama-devel BuildRequires: desktop-file-utils BuildRequires: libappstream-glib +BuildRequires: tex(latex), texinfo, texinfo-tex 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.9.0 -Provides: libxcas-static = 1.9.0 - %global majver %(cut -d. -f1-3 <<< %{version}) %description @@ -137,22 +79,17 @@ 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: GPL-3.0-or-later AND GFDL-1.1-or-later +License: GPLv3+ and GFDL %description doc -The detailed documentation and examples for giac and xcas. It is directly +The detailled html 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. @@ -162,7 +99,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%{?_isa} = %{version}-%{release} +Provides: xcas = %{version}-%{release} Requires: %{name}%{?_isa} = %{version}-%{release} Requires: hicolor-icon-theme @@ -170,7 +107,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 @@ -181,24 +118,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 -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 +%autosetup -p0 -n %{name}-%{majver} # Remove local intl (already bundled in fedora) rm -rf intl/*.h rm -rf intl/*.cc +# NB: Problem with autoreconf: missing config/test-driver . If needed the +# following worked +# aclocal +# autoconf +# automake --add-missing # Remove unecessary files and force the rebuild of info. rm -f doc/pari/gphtml @@ -216,57 +149,28 @@ chmod -x examples/lewisw/fermat* find doc -name *~ -delete # Unbundle texinfo file -sed -i 's|config/texinfo.tex|%{_texmf_main}/tex/texinfo/texinfo.tex|g' Makefile.in +sed -i 's|config/texinfo.tex|%{_datadir}/texmf/tex/texinfo/texinfo.tex|g' Makefile.in rm -f config/texinfo.tex # Remove hidden files 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' \ - -e 's|-lgslcblas|-lflexiblas|' -i configure.ac -%endif - -# Prepare Micropython lib's License -cp -p micropython-1.12/LICENSE micropython-1.12/micropython-LICENSE - -# Update configure.ac obsolete macros -autoupdate -vf - -# Re-configuration -autoreconf -ivf - %build -# 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 \ +%configure --enable-static=no --with-included-gettext=no --enable-nls=yes \ --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 \ -%ifarch %{power64} - --disable-micropy -%endif + --enable-gui=yes --disable-rpath # 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 -# 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 -# +# Fix unused-direct-shlib-dependency with libgslcblas.so.0 and libgfortran.so.3 +sed -i -e 's! -shared ! -Wl,--as-needed\0!g' libtool -# 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 +%make_build V=1 # Rebuild giac_*.info and Convert info file to utf-8 (cd doc ; make) @@ -280,43 +184,30 @@ done %install %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}/ -install -pm 644 src/.libs/libgiac.a %{buildroot}%{_libdir}/ - 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 # -# Check appdata file -appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/*.metainfo.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 # # Add extra pdf docs. (NB: make dvi gives only the same doc in dvi format) @@ -325,8 +216,6 @@ 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 @@ -343,17 +232,14 @@ 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 -# 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 +# 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 ) -#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 +%find_lang %{name} +desktop-file-install --vendor="" --remove-key=Encoding --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 @@ -387,39 +273,22 @@ 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} +%ldconfig_scriptlets %if %{with check} %check -export LD_LIBRARY_PATH=%{buildroot}%{_libdir} +export LD_LIBRARY_PATH=../src/.libs make -C check check -# This is for debugging purpose only -#make -j1 -C check check -#cat check/test-suite.log %endif -%files -%license COPYING micropython-1.12/micropython-LICENSE +%files -f %{name}.lang +%license COPYING %license LICENSE.tinymt32 %{_bindir}/icas %{_bindir}/giac %{_bindir}/hevea2mml %{_bindir}/*_help -%{_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 +%{_libdir}/libgiac.so.* # The following files are required at runtime by icas AND xcas. # (Ex: if LANG is fr, alea(5) should give an INT) # Moreover, without aide_cas the keywords files are not found in icas @@ -446,7 +315,6 @@ 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 @@ -465,7 +333,7 @@ make -C check check # Files under dirs shared with other packages %{_datadir}/applications/xcas.desktop -%{_metainfodir}/xcas.metainfo.xml +%{_datadir}/metainfo/xcas.appdata.xml %{_datadir}/mime/packages/giac.xml %{_datadir}/pixmaps/xcas.xpm %{_datadir}/icons/hicolor/*/apps/xcas.png @@ -478,7 +346,6 @@ make -C check check %files devel %{_includedir}/giac/ %{_libdir}/libgiac.so -%{_libdir}/libxcas.so # DOC Files %files doc -f giacdoclist @@ -494,9 +361,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 @@ -514,4 +381,227 @@ make -C check check %{_datadir}/giac/examples/ %changelog -%autochangelog +* 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. diff --git a/sources b/sources index 0a2dd00..974b6a3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (giac-2.0.0.18.tar.gz) = 9b92320c21a94c758e4c18d5393c91f5cd2e2eb66c13ad4aeeb66c70bb53181fb8f82e5288a1c18bf4ae870f132baf6af0ffa5940819d40187b045de24503edc +SHA512 (giac-1.5.0.53.tar.gz) = 10c3d61f493bfda0066a1d4e976e1c8d630b48ec69b5a5ec5141a23fbe37560948cbfdd64bc9aee6ad1a6706fa11b9d7cc8510690dd633be30d5aed4c056a6e2 diff --git a/xcas.appdata.xml b/xcas.appdata.xml new file mode 100644 index 0000000..29740af --- /dev/null +++ b/xcas.appdata.xml @@ -0,0 +1,57 @@ + + + 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 +