Compare commits
No commits in common. "rawhide" and "f26" have entirely different histories.
13 changed files with 322 additions and 600 deletions
31
.gitignore
vendored
31
.gitignore
vendored
|
|
@ -14,34 +14,3 @@
|
|||
/giac-1.4.9.41.tar.gz
|
||||
/giac-1.4.9.43.tar.gz
|
||||
/giac-1.4.9.45.tar.gz
|
||||
/giac-1.4.9.59.tar.gz
|
||||
/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
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
@ -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<RingElem>& NewGB, const vector<RingElem>& 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<const SparsePolyRingBase*>
|
||||
(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 <vector> // 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<unsigned long>(row));
|
||||
+ const MachineInt colInt(static_cast<unsigned long>(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<unsigned long>(row));
|
||||
+ const MachineInt colInt(static_cast<unsigned long>(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<unsigned long>(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<unsigned long>(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<unsigned long>(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<unsigned long>(i));
|
||||
+ const MachineInt jInt(static_cast<unsigned long>(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<unsigned long>(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();
|
||||
}
|
||||
|
|
@ -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 ()
|
||||
{
|
||||
|
|
@ -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
|
||||
|
|
@ -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<k;++i) {
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
--- a/src/vecteur.h.orig 2016-05-30 05:53:13.000000000 -0600
|
||||
+++ b/src/vecteur.h 2016-10-20 12:06:16.321062870 -0600
|
||||
--- src/vecteur.h.orig 2016-05-30 05:53:13.000000000 -0600
|
||||
+++ src/vecteur.h 2016-10-20 12:06:16.321062870 -0600
|
||||
@@ -27,6 +27,8 @@
|
||||
#include <gsl/gsl_permutation.h>
|
||||
#endif // HAVE_LIBGSL
|
||||
|
|
|
|||
|
|
@ -4,8 +4,8 @@
|
|||
# package maintainer.
|
||||
#
|
||||
|
||||
VERSION="2.0.0"
|
||||
VERSIONREV="18"
|
||||
VERSION="1.4.9"
|
||||
VERSIONREV="45"
|
||||
|
||||
# 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."
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
@ -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<ptrend;ptrN+=4,ptr+=4){
|
||||
*ptr -= coeff*(*ptrN);
|
||||
ptr[1] -= coeff*(ptrN[1]);
|
||||
ptr[2] -= coeff*(ptrN[2]);
|
||||
ptr[3] -= coeff*(ptrN[3]);
|
||||
}
|
||||
- C += ptr-&buffer[C];
|
||||
+ C += ptr-(&buffer[0]+C);
|
||||
for (;C<cmax;++C){
|
||||
buffer[C] -= coeff*Nline[C];
|
||||
}
|
||||
445
giac.spec
445
giac.spec
|
|
@ -1,110 +1,55 @@
|
|||
# Architectures currently not supported
|
||||
# http://xcas.e.ujf-grenoble.fr/XCAS/viewtopic.php?f=19&t=1723
|
||||
ExcludeArch: aarch64 %{power64} s390x
|
||||
|
||||
# Tests excluded
|
||||
# See https://xcas.univ-grenoble-alpes.fr/forum/viewtopic.php?f=19&t=1733
|
||||
%ifarch s390x
|
||||
# See http://pcm1.e.ujf-grenoble.fr/forum/viewtopic.php?f=19&t=1733&sid=3257f5085f4ae208dc36665f2873252f
|
||||
%bcond_with check
|
||||
%else
|
||||
%bcond_with check
|
||||
%endif
|
||||
|
||||
%bcond_without flexiblas
|
||||
|
||||
%global _lto_cflags %{nil}
|
||||
|
||||
%global subversion .18
|
||||
%global subversion .45
|
||||
|
||||
Name: giac
|
||||
Summary: Computer Algebra System, Symbolic calculus, Geometry
|
||||
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
|
||||
Version: 1.4.9%{subversion}
|
||||
Release: 2%{?dist}
|
||||
# LGPLv3+: src/Fl_GDI_Printer.cxx, src/Flv_List.cc, src/Flv_Table.cc
|
||||
# BSD: src/tinymt32*
|
||||
License: GPLv3+
|
||||
Group: Applications/Engineering
|
||||
URL: http://www-fourier.ujf-grenoble.fr/~parisse/giac.html
|
||||
## Source package is downloaded from
|
||||
## https://www-fourier.univ-grenoble-alpes.fr/~parisse/debian/dists/stable/main/source
|
||||
## http://www-fourier.ujf-grenoble.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
|
||||
|
||||
# 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: gmp-devel
|
||||
BuildRequires: gsl-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
|
||||
|
||||
Requires(post): info
|
||||
Requires(preun): info
|
||||
|
||||
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
|
||||
|
|
@ -126,6 +71,7 @@ It consists of:
|
|||
####################
|
||||
%package devel
|
||||
Summary: C++ development files for libgiac
|
||||
Group: Development/Libraries
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
Requires: fltk-devel%{?_isa}
|
||||
Requires: gsl-devel%{?_isa}
|
||||
|
|
@ -137,22 +83,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 +103,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 +111,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 +122,21 @@ 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
|
||||
%setup -q -n %{name}-%{majver}
|
||||
%patch0
|
||||
|
||||
# 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 +154,29 @@ 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 \
|
||||
export LDFLAGS="%{__global_ldflags} -Wl,--as-needed"
|
||||
%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 +190,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 +222,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 +238,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 +279,32 @@ 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
|
||||
%post
|
||||
/sbin/ldconfig
|
||||
/sbin/install-info %{_infodir}/%{name}_us.info %{_infodir}/dir || :
|
||||
/sbin/install-info %{_infodir}/%{name}_es.info %{_infodir}/dir || :
|
||||
|
||||
# Symlink duplicated files
|
||||
%fdupes -s %{buildroot}%{_datadir}
|
||||
%postun -p /sbin/ldconfig
|
||||
|
||||
%preun
|
||||
if [ $1 = 0 ] ; then
|
||||
/sbin/install-info --delete %{_infodir}/%{name}_us.info %{_infodir}/dir || :
|
||||
/sbin/install-info --delete %{_infodir}/%{name}_es.info %{_infodir}/dir || :
|
||||
fi
|
||||
|
||||
%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
|
||||
|
|
@ -439,14 +324,13 @@ make -C check check
|
|||
%dir %{_datadir}/giac/doc/pt
|
||||
%dir %{_datadir}/giac/doc/zh
|
||||
#
|
||||
%{_infodir}/giac_*.info.*
|
||||
%{_infodir}/giac_*.info.gz
|
||||
%{_mandir}/man1/giac*
|
||||
%{_mandir}/man1/*_help*
|
||||
|
||||
# The gui files
|
||||
%files xcas
|
||||
%{_bindir}/xcas
|
||||
%{_datadir}/giac/xcas.html
|
||||
# The dirs shared
|
||||
%dir %{_datadir}/giac
|
||||
%dir %{_datadir}/giac/doc
|
||||
|
|
@ -465,7 +349,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 +362,6 @@ make -C check check
|
|||
%files devel
|
||||
%{_includedir}/giac/
|
||||
%{_libdir}/libgiac.so
|
||||
%{_libdir}/libxcas.so
|
||||
|
||||
# DOC Files
|
||||
%files doc -f giacdoclist
|
||||
|
|
@ -494,9 +377,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 +397,180 @@ make -C check check
|
|||
%{_datadir}/giac/examples/
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
* Sat Feb 03 2018 Antonio Trande <sagitterATfedoraproject.org> 1.4.9.45-2
|
||||
- Re-set previous ldconfig scripts
|
||||
|
||||
* Sat Feb 03 2018 Antonio Trande <sagitterATfedoraproject.org> 1.4.9.45-1
|
||||
- Update to 1.4.9 sub-45
|
||||
- Use %%ldconfig_scriptlets
|
||||
|
||||
* Thu Jan 11 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.4.9.43-2
|
||||
- Remove obsolete scriptlets
|
||||
|
||||
* Sun Dec 24 2017 Antonio Trande <sagitterATfedoraproject.org> 1.4.9.43-1
|
||||
- Update to 1.4.9 sub-43
|
||||
|
||||
* Thu Dec 21 2017 Antonio Trande <sagitterATfedoraproject.org> 1.4.9.41-3
|
||||
- Symlink restored
|
||||
|
||||
* Thu Dec 21 2017 Antonio Trande <sagitterATfedoraproject.org> 1.4.9.41-2
|
||||
- Undo latest symlink changes
|
||||
|
||||
* Sun Dec 17 2017 Antonio Trande <sagitterATfedoraproject.org> 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 <sagitterATfedoraproject.org> 1.4.9.33-1
|
||||
- Update to 1.4.9 sub-33
|
||||
- Fix symlinks
|
||||
|
||||
* Fri Dec 01 2017 Antonio Trande <sagitterATfedoraproject.org> 1.4.9.29-2
|
||||
- Make symlinks used by QCAS
|
||||
|
||||
* Thu Nov 30 2017 Antonio Trande <sagitterATfedoraproject.org> 1.4.9.29-1
|
||||
- Update to 1.4.9 sub-29
|
||||
|
||||
* Thu Sep 28 2017 Jerry James <loganjerry@gmail.com> - 1.2.3.57-1
|
||||
- Rebuild for ntl 10.5.0
|
||||
- Fix versioning scheme
|
||||
|
||||
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.3-9.57
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||
|
||||
* Thu Jul 27 2017 Antonio Trande <sagitterATfedoraproject.org> 1.2.3-8.57
|
||||
- Update to 1.2.3 sub-57
|
||||
|
||||
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.3-7.49
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Thu Jul 13 2017 Petr Pisar <ppisar@redhat.com> - 1.2.3-6.49
|
||||
- perl dependency renamed to perl-interpreter <https://fedoraproject.org/wiki/Changes/perl_Package_to_Install_Core_Modules>
|
||||
|
||||
* Sun Jun 11 2017 Antonio Trande <sagitterATfedoraproject.org> 1.2.3-5.49
|
||||
- Update to 1.2.3 sub-49
|
||||
|
||||
* Sun May 14 2017 Peter Robinson <pbrobinson@fedoraproject.org> 1.2.3-4.43
|
||||
- Bump Release so upgrade path works
|
||||
|
||||
* Fri May 12 2017 Antonio Trande <sagitterATfedoraproject.org> 1.2.3-1.43
|
||||
- Update to 1.2.3 sub-43
|
||||
|
||||
* Wed Apr 05 2017 Jerry James <loganjerry@gmail.com> - 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 <sagitterATfedoraproject.org> 1.2.3-1.25
|
||||
- Update to 1.2.3 sub-25
|
||||
|
||||
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.3-3.13
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Sat Jan 21 2017 Peter Robinson <pbrobinson@fedoraproject.org> 1.2.3-2.13
|
||||
- Adjust release so it's newer than the previous rev
|
||||
|
||||
* Wed Jan 18 2017 Antonio Trande <sagitterATfedoraproject.org> 1.2.3-1.13
|
||||
- Update to 1.2.3 sub-13
|
||||
|
||||
* Thu Jan 12 2017 Igor Gnatenko <ignatenko@redhat.com> - 1.2.3-2.9
|
||||
- Rebuild for readline 7.x
|
||||
|
||||
* Thu Jan 05 2017 Antonio Trande <sagitterATfedoraproject.org> 1.2.3-1.9
|
||||
- Update to 1.2.3 sub-9
|
||||
- Conformed to new rules for scriptlets
|
||||
|
||||
* Sun Dec 25 2016 Antonio Trande <sagitterATfedoraproject.org> 1.2.2-14.105
|
||||
- Update to subversion 105
|
||||
|
||||
* Fri Dec 02 2016 Paul Howarth <paul@city-fan.org> 1.2.2-13.103
|
||||
- Rebuild for pari 2.9.0
|
||||
|
||||
* Tue Nov 15 2016 Antonio Trande <sagitterATfedoraproject.org> 1.2.2-12.103
|
||||
- Update to subversion 103
|
||||
|
||||
* Thu Oct 20 2016 Jerry James <loganjerry@gmail.com> 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 <sagitterATfedoraproject.org> 1.2.2-10.85
|
||||
- Update to subversion 85
|
||||
|
||||
* Mon Sep 05 2016 Jerry James <loganjerry@gmail.com> 1.2.2-9.75
|
||||
- Rebuild for ntl 9.11.0
|
||||
|
||||
* Mon Jul 25 2016 Jerry James <loganjerry@gmail.com> 1.2.2-8.75
|
||||
- Rebuild for ntl 9.10.0
|
||||
|
||||
* Fri Jul 15 2016 Antonio Trande <sagitterATfedoraproject.org> 1.2.2-7.75
|
||||
- Update to subversion 75
|
||||
|
||||
* Thu Jul 07 2016 Antonio Trande <sagitterATfedoraproject.org> 1.2.2-6.63
|
||||
- Exclude s390x
|
||||
|
||||
* Sat Jul 02 2016 Antonio Trande <sagitterATfedoraproject.org> 1.2.2-5.63
|
||||
- Fix directories ownership
|
||||
- Exclude PPC and aarch64
|
||||
|
||||
* Thu Jun 30 2016 Antonio Trande <sagitterATfedoraproject.org> 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 <sagitterATfedoraproject.org> 1.2.2-3.45
|
||||
- Source tarball repacked without non-free docs
|
||||
- Licenses combined in GPLv3+ only
|
||||
|
||||
* Fri May 13 2016 Antonio Trande <sagitterATfedoraproject.org> 1.2.2-2
|
||||
- Fix required package of pgiac
|
||||
|
||||
* Fri May 13 2016 Antonio Trande <sagitterATfedoraproject.org> 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 <han@math.jussieu.fr> 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 <han@math.jussieu.fr> 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 <han@math.jussieu.fr> 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 <han@math.jussieu.fr> 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 <han@math.jussieu.fr> 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.
|
||||
|
|
|
|||
2
sources
2
sources
|
|
@ -1 +1 @@
|
|||
SHA512 (giac-2.0.0.18.tar.gz) = 9b92320c21a94c758e4c18d5393c91f5cd2e2eb66c13ad4aeeb66c70bb53181fb8f82e5288a1c18bf4ae870f132baf6af0ffa5940819d40187b045de24503edc
|
||||
SHA512 (giac-1.4.9.45.tar.gz) = e691dd05adc94bbdcc0ae22c6bbc95430f0c5c0dfcaf222d30caa4e865a66017c2d49f6aad5b69a04746ac4cddcad0009fde92cf8207ffd16c6174217b5d1f23
|
||||
|
|
|
|||
57
xcas.appdata.xml
Normal file
57
xcas.appdata.xml
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<component type="desktop">
|
||||
<id>xcas.desktop</id>
|
||||
<metadata_license>CC0-1.0</metadata_license>
|
||||
<summary>Computer Algebra System, Symbolic calculus, Geometry</summary>
|
||||
<name>xcas</name>
|
||||
<project_license>GPL-3.0+</project_license>
|
||||
<categories>
|
||||
<category>Education</category>
|
||||
<category>Math</category>
|
||||
</categories>
|
||||
<description>
|
||||
<p>
|
||||
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:</p>
|
||||
<ul>
|
||||
<li>Efficient algorithms for multivariate polynomial operations
|
||||
(product, GCD, factorization, groebner bases)</li>
|
||||
<li>Symbolic computations: solver, simplifications, limits/series,
|
||||
integration</li>
|
||||
<li>Linear algebra with numerical or symbolic coefficients</li>
|
||||
<li>Partial Maple and TI compatibility</li>
|
||||
<li>It has interfaces in texmacs and sagemath</li>
|
||||
</ul>
|
||||
<p>It consists of:</p>
|
||||
<ul>
|
||||
<li>A C++ library (libgiac)</li>
|
||||
<li>A command line interpreter (icas/giac)</li>
|
||||
<li>An FLTK-based GUI (xcas) with interactive geometry and formal
|
||||
spreadsheets</li>
|
||||
</ul>
|
||||
</description>
|
||||
<translation type="gettext">giac</translation>
|
||||
<url type="homepage">http://www-fourier.ujf-grenoble.fr/~parisse/giac.html</url>
|
||||
<url type="help">http://xcas.e.ujf-grenoble.fr/XCAS/</url>
|
||||
<screenshots>
|
||||
<screenshot type="default">
|
||||
<image>https://sagitter.fedorapeople.org/giac-screenshots/xcas1.png</image>
|
||||
<caption>Newton's method</caption>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image>https://sagitter.fedorapeople.org/giac-screenshots/xcas2.png</image>
|
||||
<caption>Hexagon animation</caption>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image>https://sagitter.fedorapeople.org/giac-screenshots/xcas3.png</image>
|
||||
<caption>Animated cube</caption>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image>https://sagitter.fedorapeople.org/giac-screenshots/xcas4.png</image>
|
||||
<caption>Spreadsheet showing Newton's method</caption>
|
||||
</screenshot>
|
||||
</screenshots>
|
||||
<update_contact>sagitter_at_fedoraproject.org</update_contact>
|
||||
<developer_name>Bernard Parisse</developer_name>
|
||||
</component>
|
||||
Loading…
Add table
Add a link
Reference in a new issue