Compare commits

..

1 commit

Author SHA1 Message Date
Jerry James
2e91b0f00c Rebuild for multithreaded pari.
Bring back (modified) cocoalib patch, still needed for cocoalib support.
2020-11-12 16:20:42 -07:00
13 changed files with 454 additions and 330 deletions

22
.gitignore vendored
View file

@ -23,25 +23,3 @@
/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

View file

@ -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) -DUNIX $(CFLAGS_MOD) $(COPT) $(CFLAGS_EXTRA) ${CFLAGS_FEDORA} -std=gnu99
+CFLAGS = $(INC) $(CWARN) ${CFLAGS_FEDORA} -std=gnu99 -DUNIX $(CFLAGS_MOD) $(COPT) $(CFLAGS_EXTRA)
# 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} -std=gnu99 $(CFLAGS_MOD) $(COPT) $(CFLAGS_EXTRA)
+CFLAGS = -fPIC -DMICROPY_LIB $(INC) $(CWARN) ${CFLAGS_FEDORA} -ansi -std=gnu99 $(CFLAGS_MOD) $(COPT) $(CFLAGS_EXTRA)
@ -40,40 +40,56 @@
# 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
--- 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
@@ -31,14 +31,14 @@
ifdef DEBUG
COPT = -O0 -g
else
-COPT = -Os -g #-fomit-frame-pointer -flto
+COPT = -g
+COPT = -g #-fomit-frame-pointer -flto
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)
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)
-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.orig 2020-04-30 09:52:40.000000000 +0200
+++ micropython-1.12/numworks/Makefile 2020-10-21 14:04:15.408648069 +0200
--- 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
@@ -31,16 +31,16 @@
ifdef DEBUG
COPT = -O0 -g
else
-COPT = -Ofast -g #-fomit-frame-pointer -flto
+COPT = -g
+COPT = -g #-fomit-frame-pointer -flto
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 = -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 += -mthumb -march=armv7e-m -mfloat-abi=hard -mcpu=cortex-m7 -mfpu=fpv5-sp-d16 -fdata-sections -ffunction-sections -fno-strict-aliasing -fno-exceptions # -fpermissive

View file

@ -22,27 +22,8 @@
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
+++ src/TmpLESystemSolver.C 2020-11-12 16:15:52.906906533 -0700
@@ -29,6 +29,7 @@
#include "CoCoA/matrix.H"
#include "CoCoA/ring.H"
@ -64,7 +45,7 @@
}
// Solve the linear system M*x = b by using Gauss' algorithm
@@ -60,22 +65,23 @@ namespace CoCoADortmund
@@ -60,6 +65,7 @@ namespace CoCoADortmund
const size_t NumColsM = NumCols(M);
const size_t NumRowsb = NumRows(b);
const size_t NumColsb = NumCols(b);
@ -72,27 +53,6 @@
// 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)

View file

@ -1,7 +1,7 @@
diff --git a/m4/intdiv0.m4 b/m4/intdiv0.m4
index b8d7817..23fdc1d 100644
--- a/m4/intdiv0.m4
+++ b/m4/intdiv0.m4
--- m4/intdiv0.m4
+++ m4/intdiv0.m4
@@ -29,10 +29,10 @@ sigfpe_handler (sig) int sig;
exit (sig != SIGFPE);
}

View file

@ -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

View file

@ -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) {

View file

@ -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

View file

@ -4,8 +4,8 @@
# package maintainer.
#
VERSION="2.0.0"
VERSIONREV="18"
VERSION="1.6.0"
VERSIONREV="25"
# 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."

View file

@ -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;
}

View file

@ -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];
}

492
giac.spec
View file

@ -1,37 +1,31 @@
# Tests excluded
# See https://xcas.univ-grenoble-alpes.fr/forum/viewtopic.php?f=19&t=1733
%ifarch s390x
%bcond_with check
%else
%bcond_with check
%if 0%{?fedora} >= 33
%bcond_without flexiblas
%endif
%bcond_without flexiblas
# giac does not support LTO
%define _lto_cflags %{nil}
%global _lto_cflags %{nil}
%global subversion .18
%global subversion .25
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.6.0%{subversion}
Release: 2%{?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
## 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
@ -40,38 +34,17 @@ Patch0: %{name}-iszero.patch
Patch1: %{name}-config.patch
# Use Fedora compiler flags
Patch2: %{name}-1.9.0-fix_micropy_compiler_flags.patch
Patch2: %{name}-1.6.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
@ -102,8 +75,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.9.0
Provides: libxcas-static = 1.9.0
Provides: libgiac-static = 1.6.0
Provides: libxcas-static = 1.6.0
%global majver %(cut -d. -f1-3 <<< %{version})
@ -137,22 +110,18 @@ 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 +131,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 +139,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,20 +150,11 @@ 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
@ -216,7 +176,7 @@ 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
@ -224,49 +184,36 @@ 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
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
%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
# Needs a reconfiguration
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 CXXFLAGS="-std=gnu++14 %build_cxxflags"
export CFLAGS="%build_cflags"
%configure --enable-static=yes --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
export CXXFLAGS="-std=gnu++14 %build_cxxflags"
export CFLAGS_FEDORA="%build_cflags"
export LDFLAGS_FEDORA="%build_ldflags"
%make_build V=1
# Rebuild giac_*.info and Convert info file to utf-8
(cd doc ; make)
@ -281,9 +228,7 @@ 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}/
@ -294,29 +239,25 @@ 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 +266,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 +282,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,38 +323,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}
%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
%files -f %{name}.lang
%license COPYING micropython-1.12/micropython-LICENSE
%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.so.*
%{_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)
@ -446,7 +366,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 +384,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 +397,6 @@ make -C check check
%files devel
%{_includedir}/giac/
%{_libdir}/libgiac.so
%{_libdir}/libxcas.so
# DOC Files
%files doc -f giacdoclist
@ -494,9 +412,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 +432,296 @@ make -C check check
%{_datadir}/giac/examples/
%changelog
%autochangelog
* Thu Nov 12 2020 Jerry James <loganjerry@gmail.com> - 1.6.0.25-2
- Rebuild for multithreaded pari
- Bring back (modified) cocoalib patch, still needed for cocoalib support
* Wed Oct 21 2020 Antonio Trande <sagitter@fedoraproject.org> 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 <iucar@fedoraproject.org> - 1.6.0.7-5
- https://fedoraproject.org/wiki/Changes/FlexiBLAS_as_BLAS/LAPACK_manager
* Tue Aug 18 2020 Jeff Law <law@redhat.com> - 1.6.0.7-4
- Force C++14 as this code is not C++17 ready
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.6.0.7-3
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.6.0.7-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Sun Jul 19 2020 Antonio Trande <sagitter@fedoraproject.org> 1.6.0.7-1
- Update to 1.6.0 sub-7
* Tue Jun 30 2020 Jeff Law <law@redhat.com> - 1.5.0.85-4
- Fix broken configure test compromised by LTO
* Tue Jun 2 2020 Jerry James <loganjerry@gmail.com> - 1.5.0.85-3
- Rebuild for nauty 2.7.1
* Fri Mar 20 2020 Jerry James <loganjerry@gmail.com> - 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 <sagitter@fedoraproject.org> 1.5.0.85-1
- Update to 1.5.0 sub-85
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.0.75-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Thu Jan 9 2020 Jerry James <loganjerry@gmail.com> - 1.5.0.75-3
- Rebuild for ntl 11.4.3
* Sat Dec 7 2019 Jerry James <loganjerry@gmail.com> - 1.5.0.75-2
- Rebuild for CoCoAlib 0.99650 again
* Thu Nov 28 2019 Antonio Trande <sagitter@fedoraproject.org> 1.5.0.75-1
- Update to 1.5.0 sub-75
- Drop cocoalib patch
* Wed Nov 27 2019 Jerry James <loganjerry@gmail.com> - 1.5.0.63-4
- Rebuild for CoCoAlib 0.99650
* Fri Oct 11 2019 Jerry James <loganjerry@gmail.com> - 1.5.0.63-3
- Rebuild for mpfr 4
* Tue Sep 24 2019 Jerry James <loganjerry@gmail.com> - 1.5.0.63-2
- Rebuild for ntl 11.3.4
* Sat Sep 14 2019 Antonio Trande <sagitter@fedoraproject.org> 1.5.0.63-1
- Update to 1.5.0 sub-63
* Tue Aug 20 2019 Susi Lehtola <jussilehtola@fedoraproject.org> - 1.5.0.53-3
- Rebuilt for GSL 2.6.
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.0.53-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sat May 18 2019 Antonio Trande <sagitter@fedoraproject.org> 1.5.0.53-1
- Update to 1.5.0 sub-53
* Wed Apr 24 2019 Björn Esser <besser82@fedoraproject.org> - 1.5.0.35-4
- Remove hardcoded gzip suffix from GNU info pages
* Sun Feb 17 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.5.0.35-3
- Rebuild for readline 8.0
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.0.35-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Mon Jan 14 2019 Antonio Trande <sagitter@fedoraproject.org> 1.5.0.35-1
- Update to 1.5.0 sub-35
* Sat Oct 13 2018 Jerry James <loganjerry@gmail.com> - 1.5.0.3-2
- Rebuild for ntl 11.3.0
* Wed Oct 10 2018 Antonio Trande <sagitter@fedoraproject.org> 1.5.0.3-1
- Update to 1.5.0 sub-3
* Fri Aug 10 2018 Jerry James <loganjerry@gmail.com> - 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 <releng@fedoraproject.org> - 1.4.9.59-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Tue Jul 3 2018 Jerry James <loganjerry@gmail.com> - 1.4.9.59-3
- Build with CoCoAlib, glpk, and libao support
- Remove scriptlets that call install-info
* Sat Jun 2 2018 Jerry James <loganjerry@gmail.com> - 1.4.9.59-2
- Rebuild for libfplll 5.2.1 and mpfi 1.5.3
* Fri May 18 2018 Antonio Trande <sagitter@fedoraproject.org> 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 <pbrobinson@fedoraproject.org> 1.4.9.45-5
- Build on all arches (tests now pass)
* Fri Feb 16 2018 Antonio Trande <sagitter@fedoraproject.org> - 1.4.9.45-4
- Use %%ldconfig_scriptlets
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.9.45-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Sat Feb 03 2018 Antonio Trande <sagitter@fedoraproject.org> 1.4.9.45-2
- Re-set previous ldconfig scripts
* Sat Feb 03 2018 Antonio Trande <sagitter@fedoraproject.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 <sagitter@fedoraproject.org> 1.4.9.43-1
- Update to 1.4.9 sub-43
* Thu Dec 21 2017 Antonio Trande <sagitter@fedoraproject.org> 1.4.9.41-3
- Symlink restored
* Thu Dec 21 2017 Antonio Trande <sagitter@fedoraproject.org> 1.4.9.41-2
- Undo latest symlink changes
* Sun Dec 17 2017 Antonio Trande <sagitter@fedoraproject.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 <sagitter@fedoraproject.org> 1.4.9.33-1
- Update to 1.4.9 sub-33
- Fix symlinks
* Fri Dec 01 2017 Antonio Trande <sagitter@fedoraproject.org> 1.4.9.29-2
- Make symlinks used by QCAS
* Thu Nov 30 2017 Antonio Trande <sagitter@fedoraproject.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 <sagitter@fedoraproject.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 <sagitter@fedoraproject.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 <sagitter@fedoraproject.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 <sagitter@fedoraproject.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 <sagitter@fedoraproject.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 <sagitter@fedoraproject.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 <sagitter@fedoraproject.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 <sagitter@fedoraproject.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 <sagitter@fedoraproject.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 <sagitter@fedoraproject.org> 1.2.2-7.75
- Update to subversion 75
* Thu Jul 07 2016 Antonio Trande <sagitter@fedoraproject.org> 1.2.2-6.63
- Exclude s390x
* Sat Jul 02 2016 Antonio Trande <sagitter@fedoraproject.org> 1.2.2-5.63
- Fix directories ownership
- Exclude PPC and aarch64
* Thu Jun 30 2016 Antonio Trande <sagitter@fedoraproject.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 <sagitter@fedoraproject.org> 1.2.2-3.45
- Source tarball repacked without non-free docs
- Licenses combined in GPLv3+ only
* Fri May 13 2016 Antonio Trande <sagitter@fedoraproject.org> 1.2.2-2
- Fix required package of pgiac
* Fri May 13 2016 Antonio Trande <sagitter@fedoraproject.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.

View file

@ -1 +1 @@
SHA512 (giac-2.0.0.18.tar.gz) = 9b92320c21a94c758e4c18d5393c91f5cd2e2eb66c13ad4aeeb66c70bb53181fb8f82e5288a1c18bf4ae870f132baf6af0ffa5940819d40187b045de24503edc
SHA512 (giac-1.6.0.25.tar.gz) = 9ea9bada0592267d267df31706fefa2a5928258d215d844088e8a8a1f10d9d7015ee02bce00ed51b64fb006c03b0b93d00e878bc8bc6bf08f96686d5265fffa5

57
xcas.appdata.xml Normal file
View 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>