Compare commits

...
Sign in to create a new pull request.

104 commits

Author SHA1 Message Date
Jerry James
73dd11722d Rebuild for nauty 2.9.3 2026-01-08 13:44:01 -07:00
Antonio Trande
594d450fbb Use fdupes 2025-12-17 22:29:00 +01:00
Antonio Trande
0b0ed65265 Remove symlink 2025-12-17 15:50:28 +01:00
Antonio Trande
f90c09525c Fix the conflict between giac-doc packages 2025-12-17 13:03:33 +01:00
Antonio Trande
a417a0e987 Do not change permissions of khicas.nwa 2025-12-04 21:47:45 +01:00
Antonio Trande
8f85db5c9d Fix permissions of khicas.nwa 2025-12-04 21:28:23 +01:00
Antonio Trande
b7bd5bc623 Move khicas.nwa file to arch dependent sub-package 2025-12-04 21:14:11 +01:00
Antonio Trande
62e8fbaccd Fix bad symlinks 2025-12-04 19:20:14 +01:00
Antonio Trande
cffc52beb2 Release 2.0.0 rev 18 2025-12-04 17:50:39 +01:00
Antonio Trande
1612ae7f7e Release 2.0.0 rev. 17 2025-12-04 11:39:13 +01:00
Jerry James
b35c72a01e Rebuild for ntl 11.6.0 2025-11-19 21:02:11 -07:00
Antonio Trande
d65650d331 Rebuild for libnauty-2.9.1 2025-09-27 14:39:10 +02:00
Jerry James
a3f5efc331 Rebuild for nauty 2.9.1 2025-09-17 16:45:24 -06:00
Jerry James
dbf1441cb6 Stop building for 32-bit x86 2025-08-01 11:48:09 -06:00
Jerry James
b04f188ff8 Rebuild for nauty 2.9.0 2025-07-30 13:16:50 -06:00
Fedora Release Engineering
2ec7f15e00 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-23 22:20:10 +00:00
Antonio Trande
859a117448 Release 1.9.0.999 2025-04-27 21:03:29 +02:00
Orion Poplawski
8ab8b46280 Rebuild with gsl 2.8 2025-02-02 13:40:52 -07:00
Antonio Trande
18f686dc49 Release 1.9.0.998 2025-01-19 18:09:34 +01:00
Fedora Release Engineering
7265ec1e81 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-16 21:56:39 +00:00
Antonio Trande
94636c6fde Update giac-undefine_GLIBCXX_ASSERTIONS.patch 2024-11-14 20:56:55 +01:00
Antonio Trande
9da66417d2 Make check always passed 2024-11-13 21:30:56 +01:00
Antonio Trande
4909aa66bf Enable debugging 2024-11-13 21:07:53 +01:00
Antonio Trande
93c46cd595 Disable debugging 2024-11-13 19:34:42 +01:00
Antonio Trande
7138386e20 Change debug scanning command 2024-11-07 23:52:51 +01:00
Antonio Trande
791bac78ac Update Patch6| Exclude micropython in PPC64 2024-11-07 21:23:05 +01:00
Jerry James
45b75e7fe2 Rebuild for pari 2.17.0 2024-10-05 11:30:40 -06:00
Antonio Trande
e3459529f6 Release 1.9.0.993| Patch mkjs file 2024-10-03 21:47:08 +02:00
Jerry James
b8b33eb59c Rebuild for nauty 2.8.9 2024-09-23 11:46:38 -06:00
Fedora Release Engineering
c69f4884fb Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-18 02:17:56 +00:00
Antonio Trande
3cc100fde2 Release 1.9.0.992 2024-06-16 20:54:23 +02:00
Antonio Trande
65d900a4de Update to 1.9.0 sub-99 (rhbz#2279596) 2024-05-10 15:10:11 +02:00
Antonio Trande
2fdc93d9a9 Update to 1.9.0 sub-97 (rhbz#2264455) 2024-04-07 21:14:33 +02:00
Jerry James
cd4fecf8ef Rebuild for cocoalib 0.99850 2024-03-29 15:27:53 -06:00
Antonio Trande
b6e9a6a683 Undefine GLIBCXX_ASSERTIONS 2024-02-10 19:41:50 +01:00
Antonio Trande
96b0dac6f8 Update to 1.9.0 sub-91 (rhbz#2259889) 2024-02-09 12:55:30 +01:00
Fedora Release Engineering
2a997b8f60 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-24 14:46:08 +00:00
Fedora Release Engineering
7ba7756fd2 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-19 22:17:15 +00:00
Antonio Trande
4096afec31 Update to 1.9.0 sub-73 (rhbz#2253863) 2023-12-17 18:33:26 +01:00
Antonio Trande
159b022765 Update to 1.9.0 sub-69 (rhbz#2245682) 2023-11-04 19:33:17 +01:00
Antonio Trande
ea8bc87cd9 Update to 1.9.0 sub-63 (rhbz#2241636) 2023-10-03 18:14:01 +02:00
Antonio Trande
59172c5c87 Update to 1.9.0 sub-61 (rhbz#2240449) 2023-09-26 19:16:02 +02:00
Antonio Trande
cb8207129d Update to 1.9.0 sub-59 (rhbz#2239514) 2023-09-20 22:04:26 +02:00
Fedora Release Engineering
167b1e24bf Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-19 22:55:37 +00:00
Jerry James
d72a12a19d Remove cocoalib dependency on i386 2023-07-13 13:34:57 -06:00
Jerry James
91c556de27 Remove hevea dependency on i386
Other changes:
- Fix path to texinfo.tex
- Convert License tag to SPDX
2023-07-13 13:30:38 -06:00
Antonio Trande
5fb158b757 Update to 1.9.0 sub-57 2023-06-29 19:29:19 +02:00
Antonio Trande
56dfbaef67 Update to 1.9.0 sub-37 2023-02-01 21:19:31 +01:00
Fedora Release Engineering
2b2960c0ab Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-19 04:49:24 +00:00
Antonio Trande
4ab793b16f Update to 1.9.0 sub-35| Obsolete patch 6 2023-01-10 18:43:43 +01:00
Antonio Trande
eff1cb66d3 Update to 1.9.0 sub-35 2023-01-10 18:24:20 +01:00
Antonio Trande
ecbc7507e8 Disable LTO flags 2023-01-08 14:57:01 +01:00
Florian Weimer
8cf8f85659 C99 compatibility fixes (#2151473)
Related to:

  <https://fedoraproject.org/wiki/Changes/PortingToModernC>
  <https://fedoraproject.org/wiki/Toolchain/PortingToModernC>
2022-12-07 12:50:36 +01:00
Antonio Trande
76b190247d Update to 1.9.0 sub-29 2022-11-22 18:14:08 +01:00
Jerry James
98bd5fdb05 Rebuild for pari 2.15.0 2022-09-27 16:47:11 -06:00
Mamoru TASAKA
b1f65dc53d Rebuild for gsl-2.7.1 2022-08-23 17:06:51 +09:00
Antonio Trande
6c8284cb0f Update to 1.9.0 sub-19 2022-08-18 19:21:36 +02:00
Fedora Release Engineering
7f0e398625 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-21 06:10:35 +00:00
Jerry James
bef60c6e7b Rebuild for cocoalib 0.99800. 2022-03-24 15:56:37 -06:00
Fedora Release Engineering
2ac568d935 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-20 05:55:33 +00:00
Antonio Trande
65c1249fc9 Update to 1.7.0 sub-29 2021-09-08 14:48:58 +02:00
Fedora Release Engineering
0dbd8a4a1c - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-22 01:34:26 +00:00
Jerry James
cdda35c0e6 Rebuild for ntl 11.5.1. 2021-06-29 13:47:41 -06:00
Jerry James
e02076f583 Rebuild for cocoalib 0.99713. Build with cliquer support. 2021-06-17 12:56:36 -06:00
Antonio Trande
05a80c76ce Update to 1.7.0 sub-13 2021-06-12 17:26:00 +02:00
Antonio Trande
03f781cb78 Release 1.7.0 2021-03-25 21:20:43 +01:00
Antonio Trande
28d0c2844e Fix Version tag in desktop file 2021-03-25 18:05:05 +01:00
Jerry James
06a9abe237 Rebuild for cocoalib 0.99712
- Work harder to avoid depending on libgslcblas
2021-02-17 20:42:49 -07:00
Fedora Release Engineering
81a218c6cb - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-26 08:02:02 +00:00
Jerry James
4be4ac9468 Rebuild for pari 2.13.0.
Bring back (modified) cocoalib patch, still needed for cocoalib support.
2020-11-11 13:54:06 -07:00
sagitter
5adb72f2c6 Update to 1.6.0 sub-25| Include libmicropython.a 2020-10-21 22:23:25 +02:00
Iñaki Úcar
c96a51e04e https://fedoraproject.org/wiki/Changes/FlexiBLAS_as_BLAS/LAPACK_manager 2020-08-27 13:31:04 +02:00
Jeff Law
2b2db2f9e3 Force C++14 as this code is not C++17 ready 2020-08-18 19:31:03 -06:00
Fedora Release Engineering
a099127b7c - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-08-01 01:47:19 +00:00
Fedora Release Engineering
9954ee0e57 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-27 19:57:50 +00:00
sagitter
ff0e8e0b68 Update to 1.6.0 sub-7 2020-07-19 20:42:59 +02:00
Jeff Law
3aed5bdd31 - Fix broken configure test compromised by LTO 2020-06-30 13:17:24 -06:00
Jerry James
1b27315c79 Rebuild for nauty 2.7.1. 2020-06-02 10:25:26 -06:00
Jerry James
c197b9f3a9 Rebuild for CoCoAlib 0.99700. Add cocoalib patch.
Build with gmp-ecm, libcurl, libsamplerate, and nauty support.
2020-03-20 11:40:24 -06:00
sagitter
a68c51d8a7 Update to 1.5.0 sub-85 2020-02-04 18:26:08 +01:00
Fedora Release Engineering
90ecdc09e9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-28 21:49:08 +00:00
Jerry James
93139aa36f Welcome to 2020. 2020-01-09 19:14:23 -07:00
Jerry James
50d4c23edc Rebuild for ntl 11.4.3. 2020-01-09 19:04:34 -07:00
Jerry James
120b2e2737 Rebuild for CoCoAlib 0.99650 again. 2019-12-07 08:32:00 -07:00
sagitter
316adc4530 Remove line commented 2019-11-28 19:53:01 +01:00
sagitter
b6144207f7 Update to 1.5.0 sub-75|Drop cocoalib patch 2019-11-28 19:49:48 +01:00
Jerry James
266afef6ab Rebuild for CoCoAlib 0.99650. 2019-11-27 12:34:52 -07:00
Jerry James
b7724a4a5d Rebuild for mpfr 4. 2019-10-11 08:44:11 -06:00
Jerry James
2d716ed270 Rebuild for ntl 11.3.4. 2019-09-24 16:10:22 -06:00
sagitter
ec17fa2395 Update to 1.5.0 sub-63 2019-09-14 19:14:10 +02:00
Susi Lehtola
047f778a34 Rebuilt for GSL 2.6. 2019-08-20 22:03:55 +02:00
Fedora Release Engineering
e16869487e - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-25 03:19:35 +00:00
sagitter
73a256f3b7 Update to 1.5.0 sub-53 rhbz#1711374 2019-05-18 14:49:57 +02:00
Björn Esser
bc72a831d4
Remove hardcoded gzip suffix from GNU info pages 2019-04-24 14:56:32 +02:00
Igor Gnatenko
92324af58c Rebuild for readline 8.0 2019-02-17 09:30:50 +01:00
Fedora Release Engineering
0ade5c6131 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-01-31 22:19:22 +00:00
sagitter
37cc527cc7 Update to 1.5.0 sub-35 2019-01-14 13:04:44 +01:00
Jerry James
3d7a5a73a8 Rebuild for ntl 11.3.0. 2018-10-13 13:45:14 -06:00
sagitter
790c8413f3 Update to 1.5.0 sub-3 2018-10-11 14:42:43 +02:00
Jerry James
062a74455e Rebuild for CoCoAlib 0.99600, ntl 11.2.1, and pari 2.11.0. 2018-08-10 20:04:28 -06:00
Fedora Release Engineering
e1fdb66d65 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-07-13 02:19:33 +00:00
Jerry James
5d3ae4f0d9 More CoCoA adaptations for cocoalib 0.99564. 2018-07-04 11:21:32 -06:00
Jerry James
b5c0efadcf Build with CoCoAlib, glpk, and libao support.
Remove scriptlets that call install-info.
2018-07-03 19:38:59 -06:00
Jerry James
af98520c94 Rebuild for libfplll 5.2.1 and mpfi 1.5.3. 2018-06-02 10:47:31 -06:00
13 changed files with 598 additions and 328 deletions

30
.gitignore vendored
View file

@ -15,3 +15,33 @@
/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

View file

@ -0,0 +1,84 @@
--- 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)

163
giac-cocoalib.patch Normal file
View file

@ -0,0 +1,163 @@
--- configure.ac.orig 2020-04-30 01:52:40.000000000 -0600
+++ configure.ac 2020-10-27 17:05:31.732729921 -0600
@@ -272,7 +272,7 @@ AC_ARG_ENABLE([cocoa],
[if test "$enableval" = "no"; then CONFIG_COCOA="no"; fi], [])
if test "$CONFIG_COCOA" = "yes"; then
- AC_CHECK_HEADER(CoCoA/io.H, [], [CONFIG_COCOA="no"])
+ AC_CHECK_HEADER(CoCoA/BigInt.H, [], [CONFIG_COCOA="no"])
fi
if test "$CONFIG_COCOA" = "yes"; then
save_LIBS="$LIBS"
--- configure.orig 2020-04-30 01:52:40.000000000 -0600
+++ configure 2020-10-27 17:06:22.817658796 -0600
@@ -16662,8 +16662,8 @@ fi
if test "$CONFIG_COCOA" = "yes"; then
- ac_fn_cxx_check_header_mongrel "$LINENO" "CoCoA/io.H" "ac_cv_header_CoCoA_io_H" "$ac_includes_default"
-if test "x$ac_cv_header_CoCoA_io_H" = xyes; then :
+ ac_fn_cxx_check_header_mongrel "$LINENO" "CoCoA/BigInt.H" "ac_cv_header_CoCoA_BigInt_H" "$ac_includes_default"
+if test "x$ac_cv_header_CoCoA_BigInt_H" = xyes; then :
else
CONFIG_COCOA="no"
--- src/TmpFGLM.C.orig 2019-11-03 11:23:52.000000000 -0700
+++ src/TmpFGLM.C 2020-11-06 09:58:43.358885872 -0700
@@ -109,14 +109,14 @@ namespace CoCoADortmund
void FGLMBasisConversion(vector<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();
}

19
giac-config.patch Normal file
View file

@ -0,0 +1,19 @@
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 ()
{

22
giac-faking_mkjs.patch Normal file
View file

@ -0,0 +1,22 @@
--- a/src/Makefile.orig.am 2024-05-13 08:25:27.000000000 +0200
+++ b/src/Makefile.am 2024-07-16 21:37:38.681076855 +0200
@@ -71,7 +71,7 @@
./mkjs
mkjs: mkjs.cc
- g++ mkjs.cc -o mkjs
+ g++ mkjs.cc -o mkjs.fake
AM_CPPFLAGS = -DIN_GIAC -I$(srcdir) -I$(top_srcdir) -I$(builddir) \
-I$(top_builddir) $(GMP_CFLAGS) $(NTL_CFLAGS) \
--- a/src/Makefile.orig.in 2024-05-23 17:09:52.000000000 +0200
+++ b/src/Makefile.in 2024-07-16 21:36:49.122491632 +0200
@@ -1470,7 +1470,7 @@
./mkjs
mkjs: mkjs.cc
- g++ mkjs.cc -o mkjs
+ g++ mkjs.cc -o mkjs.fake
install-exec-hook:
rm -f $(DESTDIR)$(bindir)/cas_help

View file

@ -0,0 +1,11 @@
--- a/src/graphe.orig.cc 2021-09-06 21:27:18.514049316 +0200
+++ b/src/graphe.cc 2021-09-06 21:27:17.150072679 +0200
@@ -15757,7 +15757,7 @@
continue;
std::sort(d.begin(),d.end());
if (d==d0) {
- G.make_haar_graph(n);
+ G.make_haar_graph(int(n));
if (is_isomorphic(G,isom,false)) {
vecteur v(k);
for (int i=0;i<k;++i) {

View file

@ -1,5 +1,5 @@
--- src/vecteur.h.orig 2016-05-30 05:53:13.000000000 -0600
+++ src/vecteur.h 2016-10-20 12:06:16.321062870 -0600
--- 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
@@ -27,6 +27,8 @@
#include <gsl/gsl_permutation.h>
#endif // HAVE_LIBGSL

View file

@ -4,8 +4,8 @@
# package maintainer.
#
VERSION="1.4.9"
VERSIONREV="59"
VERSION="2.0.0"
VERSIONREV="18"
# The upstream tarball name is: giac"$SOURCEORIG".tar.gz
SOURCEORIG=_"$VERSION"-"$VERSIONREV"
@ -20,13 +20,11 @@ if [ -f "$OUTPUTFILEBASENAME".tar.gz -o -f "$OUTPUTFILEBASENAME".tar.bz2 ] ; the
fi
echo >&2 "Build a temporary working dir"
TARGET=$(mkdir -p "giac-src")
ORIGDIR=`pwd`
cd "$TARGET"
mkdir -p giac-src
cd giac-src
echo >&2 "Downloading upstream source ..."
wget "http://www-fourier.ujf-grenoble.fr/~parisse/debian/dists/stable/main/source/giac$SOURCEORIG.tar.gz"
wget "https://www-fourier.univ-grenoble-alpes.fr/~parisse/debian/dists/stable/main/source/giac$SOURCEORIG.tar.gz"
echo >&2 "Untar upstream source ..."
tar -xzf giac"$SOURCEORIG".tar.gz
@ -60,11 +58,10 @@ touch html_vall
echo >&2 "Building giac source tarball ..."
cd ../../../
tar -cz giac-"$VERSION" -f "$OUTPUTFILEBASENAME".tar.gz
mv "giac"$OUTPUTFILEBASENAME".tar.gz" ../
cd ../
echo >&2 "Cleaning extracted dir ..."
rm -rf giac-src
rm -f "giac$SOURCEORIG.tar.gz"
rm -rf giac-"$VERSION"
echo >&2 "Finished."

30
giac-pari2.15.patch Normal file
View file

@ -0,0 +1,30 @@
--- giac-1.9.0/src/pari.cc.orig 2022-03-16 05:38:05.000000000 -0600
+++ giac-1.9.0/src/pari.cc 2022-09-20 09:23:12.304717931 -0600
@@ -749,7 +749,7 @@ namespace giac {
RET_INT=2,
RET_LONG=3
};
- typedef GEN (*PFGEN)(ANYARG);
+ typedef GEN (*PFGEN)(...);
extern const unary_function_ptr * const at_pari;
static gen in_pari(const gen & args,GIAC_CONTEXT){
@@ -884,15 +884,15 @@ namespace giac {
break;
case RET_INT:
- m = (long)((int (*)(ANYARG))call)(_ARGS_);
+ m = (long)((int (*)(...))call)(_ARGS_);
res = stoi(m); break;
case RET_LONG:
- m = ((long (*)(ANYARG))call)(_ARGS_);
+ m = ((long (*)(...))call)(_ARGS_);
res = stoi(m); break;
case RET_VOID:
- ((void (*)(ANYARG))call)(_ARGS_);
+ ((void (*)(...))call)(_ARGS_);
res = gnil; break;
}

View file

@ -0,0 +1,37 @@
--- a/src/first.orig.h 2023-05-24 09:52:40.000000000 +0200
+++ b/src/first.h 2024-02-10 19:37:26.376884368 +0100
@@ -27,12 +27,7 @@
#endif
// register is deprecated in c++17
-#define register
-
-
-#ifdef _GLIBCXX_ASSERTIONS
-#undef _GLIBCXX_ASSERTIONS
-#endif
+#define register
#if defined NUMWORKS && !defined SDL_KHICAS
#define KHICAS 1
--- a/src/vecteur.orig.cc 2024-06-04 08:13:22.000000000 +0200
+++ b/src/vecteur.cc 2024-11-01 17:58:56.061073533 +0100
@@ -8498,15 +8498,15 @@
}
else {
int C=col+1;
- longlong * ptr= &buffer[C],*ptrend=&buffer[0]+cmax-4;
- const int *ptrN=&Nline[C];
+ longlong * ptr= &buffer[0]+C,*ptrend=&buffer[0]+cmax-4;
+ const int *ptrN=&Nline[0]+C;
for (;ptr<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];
}

450
giac.spec
View file

@ -1,50 +1,110 @@
# Tests excluded
# See http://pcm1.e.ujf-grenoble.fr/forum/viewtopic.php?f=19&t=1733&sid=3257f5085f4ae208dc36665f2873252f
# See https://xcas.univ-grenoble-alpes.fr/forum/viewtopic.php?f=19&t=1733
%ifarch s390x
%bcond_with check
%else
%bcond_with check
%endif
%global subversion .59
%bcond_without flexiblas
%global _lto_cflags %{nil}
%global subversion .18
Name: giac
Summary: Computer Algebra System, Symbolic calculus, Geometry
Version: 1.4.9%{subversion}
Release: 1%{?dist}
# LGPLv3+: src/Fl_GDI_Printer.cxx, src/Flv_List.cc, src/Flv_Table.cc
# BSD: src/tinymt32*
License: GPLv3+
URL: http://www-fourier.ujf-grenoble.fr/~parisse/giac.html
Version: 2.0.0%{subversion}
Release: %autorelease
# GPL-3.0-or-later: the project as a whole
# GPL-3.0-only: src/TmpFGLM.*, src/TmpLESystemSolver.*
# GPL-2.0-or-later: pariinl.h
# GPL-1.0-or-later OR Artistic-1.0-Perl: src/pgiac
# LGPL-3.0-or-later: src/Fl_GDK_Printer.cxx, Flv_List.cc, Flv_Table.cc
# LGPL-2.0-or-later: intl/, src/Flv_Data_Source.H, src/Flv_List.H,
# src/Flv_Table.H, src/Flve_Check_Button.H, src/Flve_Combo.H, src/Flve_Input.H
# MIT: micropython-1.12/, src/cutils.*, src/js.c, src/libbf.*, src/libregexp*,
# src/libunicode.*, src/list.h, src/qjs*, src/quickjs*
License: GPL-3.0-or-later AND GPL-3.0-only AND GPL-2.0-or-later AND (GPL-1.0-or-later OR Artistic-1.0-Perl) AND LGPL-3.0-or-later AND LGPL-2.0-or-later AND MIT
URL: https://www-fourier.univ-grenoble-alpes.fr/~parisse/giac.html
## Source package is downloaded from
## http://www-fourier.ujf-grenoble.fr/~parisse/debian/dists/stable/main/source/
## https://www-fourier.univ-grenoble-alpes.fr/~parisse/debian/dists/stable/main/source
## and re-packed without non-free FR documentation by giac-makesrc script.
Source0: %{name}-%{version}.tar.gz
Source1: %{name}-makesrc.sh
Source2: xcas.appdata.xml
# Recent math.h adds an iszero macro, but giac has an iszero function
Patch0: %{name}-iszero.patch
# 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-devel
BuildRequires: gettext
BuildRequires: gcc-c++
BuildRequires: mpfr-devel
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
BuildRequires: lapack-devel
%if %{with flexiblas}
BuildRequires: flexiblas-devel
%else
BuildRequires: blas-devel, lapack-devel
%endif
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
@ -77,17 +137,22 @@ Development files for libgiac.
####################
%package doc
Summary: Detailed html documentation for Giac/Xcas
Summary: Detailed HTML documentation for Giac/Xcas
BuildArch: noarch
%ifnarch %{ix86}
BuildRequires: hevea
%endif
BuildRequires: tex(latex), texinfo, texinfo-tex, texlive-stmaryrd
Requires: %{name} = %{version}-%{release}
Obsoletes: giac-doc < 0:2.0.0.18-8
# Javascript provided
Provides: bundled(CodeMirror)
Provides: bundled(FileSaver.js)
License: GPLv3+ and GFDL
License: GPL-3.0-or-later AND GFDL-1.1-or-later
%description doc
The detailled html documentation and examples for giac and xcas. It is directly
The detailed documentation and examples for giac and xcas. It is directly
accessible from xcas in many ways (browser, context search, thematic indexes).
It is strongly recommended for xcas usage. Note that the french part has been
removed from the original source due to non free Licence.
@ -97,7 +162,7 @@ removed from the original source due to non free Licence.
# The name Xcas is better known than the name giac itself,
# so many users will search for the name xcas instead of giac or giac-gui.
Summary: GUI application for Giac
Provides: xcas = %{version}-%{release}
Provides: xcas%{?_isa} = %{version}-%{release}
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: hicolor-icon-theme
@ -105,7 +170,7 @@ Requires: hicolor-icon-theme
Xcas is the Fltk graphic user interface to the computer algebra system giac.
It supports formal computations, interactive 2D geometry, 3D plotting,
spreadsheets with formal calculus and a Logo mode. There is also a programming
editor, and many ways to consult the html help.
editor, and many ways to consult the HTML help.
####################
%package -n pgiac
@ -116,21 +181,24 @@ 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
%setup -q -n %{name}-%{majver}
%patch0
%autosetup -n %{name}-%{majver} -N
%patch -P 0 -p1 -b .backup
%patch -P 1 -p1 -b .backup
%patch -P 2 -p0 -b .backup
%patch -P 3 -p0 -b .backup
%patch -P 4 -p1 -b .backup
%patch -P 5 -p1 -b .backup
%patch -P 6 -p1 -b .backup
%patch -P 7 -p1 -b .backup
# Remove local intl (already bundled in fedora)
rm -rf intl/*.h
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
@ -148,29 +216,57 @@ chmod -x examples/lewisw/fermat*
find doc -name *~ -delete
# Unbundle texinfo file
sed -i 's|config/texinfo.tex|%{_datadir}/texmf/tex/texinfo/texinfo.tex|g' Makefile.in
sed -i 's|config/texinfo.tex|%{_texmf_main}/tex/texinfo/texinfo.tex|g' Makefile.in
rm -f config/texinfo.tex
# Remove hidden files
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
export LDFLAGS="%{__global_ldflags} -Wl,--as-needed"
%configure --enable-static=no --with-included-gettext=no --enable-nls=yes \
# https://xcas.univ-grenoble-alpes.fr/forum/viewtopic.php?f=4&t=2817
OPT_FLAGS=$(echo "%build_cxxflags" | %{__sed} -e 's/-Werror=format-security/-Wno-error=format-security/')
export CXXFLAGS="$OPT_FLAGS -fpermissive -std=gnu++17"
export CFLAGS_FEDORA="$OPT_FLAGS -std=gnu17"
%configure --enable-static=yes --with-included-gettext=no --enable-nls=no \
--enable-tommath=no --enable-debug=no --enable-gc=no --enable-sscl=no \
--enable-dl=yes --enable-gsl=yes --enable-lapack=yes --enable-pari=yes \
--enable-ntl=yes --enable-gmpxx=yes --enable-cocoa=autodetect \
--enable-gui=yes --disable-rpath
--enable-gui=yes --disable-rpath \
%ifarch %{power64}
--disable-micropy
%endif
# The --disable-rpath option of configure was not enough to get rid of the hardcoded libdir
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
# Fix unused-direct-shlib-dependency with libgslcblas.so.0 and libgfortran.so.3
sed -i -e 's! -shared ! -Wl,--as-needed\0!g' libtool
# Compile 'mkjs' executable
# See patch7's comment
export OPT_FLAGS=$(echo "%build_cxxflags" | %{__sed} -e 's/-Werror=format-security/-Wno-error=format-security/')
g++ $OPT_FLAGS -fpermissive -std=gnu++17 src/mkjs.cc -o src/mkjs
#
%make_build V=1
# https://xcas.univ-grenoble-alpes.fr/forum/viewtopic.php?f=4&t=2817
OPT_FLAGS=$(echo "%build_cflags" | %{__sed} -e 's/-Werror=format-security/-Wno-error=format-security/')
export CXXFLAGS="$OPT_FLAGS -fpermissive -std=gnu++17"
export CFLAGS_FEDORA="$OPT_FLAGS -std=gnu17"
export LDFLAGS_FEDORA="$OPT_FLAGS"
%make_build
# Rebuild giac_*.info and Convert info file to utf-8
(cd doc ; make)
@ -184,30 +280,43 @@ 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
#
# Install/check appdata file.
install -pm 644 -D %{SOURCE2} \
%{buildroot}%{_datadir}/metainfo/xcas.appdata.xml
appstream-util validate-relax --nonet %{buildroot}%{_datadir}/metainfo/*.appdata.xml
# Check appdata file
appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/*.metainfo.xml
#
# Add extra pdf docs. (NB: make dvi gives only the same doc in dvi format)
@ -216,6 +325,8 @@ install -pm 644 -t %{buildroot}%{_datadir}/giac/doc/en doc/en/*.pdf
install -pm 644 -t %{buildroot}%{_datadir}/giac/doc/el doc/el/*.pdf
install -pm 644 -t %{buildroot}%{_datadir}/giac/doc/es doc/es/*.pdf
find %{buildroot}%{_datadir}/giac -name 'Makefile*' -exec rm {} \;
# Symlinks used by QCAS and giacpy
mkdir -p %{buildroot}%{_datadir}/giac/doc/fr
ln -sf -T %{_datadir}/giac/doc/aide_cas %{buildroot}%{_datadir}/giac/doc/fr/aide_cas
@ -232,14 +343,17 @@ install -pm 644 debian/giac.1 %{buildroot}%{_mandir}/man1
install -pm 644 debian/cas_help.1 %{buildroot}%{_mandir}/man1
install -pm 644 debian/pgiac.1 %{buildroot}%{_mandir}/man1
# Add a link for FR env users to have the english help instead of a page
# not found.
mkdir -p %{buildroot}%{_datadir}/giac/doc/fr
(cd %{buildroot}%{_datadir}/giac/doc/fr ; ln -s ../en/cascmd_en cascmd_fr )
# khicas.nwa is an arch-dependent executable file (ELF 32-bit LSB relocatable, ARM, EABI5 version 1)
# I moving it from noarch giac-doc to giac package
mkdir -p %{buildroot}%{_libexecdir}/giac
cp -p %{buildroot}%{_datadir}/giac/doc/khicas.nwa %{buildroot}%{_libexecdir}/giac/
ln -sfv %{_libexecdir}/giac/khicas.nwa %{buildroot}%{_datadir}/giac/doc/khicas.nwa
%find_lang %{name}
desktop-file-install --vendor="" --remove-key=Encoding --dir=%{buildroot}%{_datadir}/applications/\
%{buildroot}%{_datadir}/applications/xcas.desktop
#find_lang %%{name}
desktop-file-install --vendor="" --remove-key=Encoding \
--set-key=Version --set-value=1.0 \
--dir=%{buildroot}%{_datadir}/applications/ \
%{buildroot}%{_datadir}/applications/xcas.desktop
# Create a list of files non required at runtime by icas nor xcas
# that are under %%{_datadir}/giac/doc for packaging in giac-doc
@ -273,32 +387,39 @@ find %{buildroot}%{_datadir}/giac/doc -maxdepth 2 -type l| \
grep -v -E "%{_datadir}/giac/doc/aide_cas$" | \
sed -e "s:%{buildroot}::" >>giacdoclist
%post
%{?ldconfig}
/sbin/install-info %{_infodir}/%{name}_us.info %{_infodir}/dir || :
/sbin/install-info %{_infodir}/%{name}_es.info %{_infodir}/dir || :
# Change permissions to following files
chmod a+x %{buildroot}%{_datadir}/giac/doc/send18
chmod a+x %{buildroot}%{_datadir}/giac/doc/send19
%ldconfig_postun
%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
# Symlink duplicated files
%fdupes -s %{buildroot}%{_datadir}
%if %{with check}
%check
export LD_LIBRARY_PATH=../src/.libs
export LD_LIBRARY_PATH=%{buildroot}%{_libdir}
make -C check check
# This is for debugging purpose only
#make -j1 -C check check
#cat check/test-suite.log
%endif
%files -f %{name}.lang
%license COPYING
%files
%license COPYING micropython-1.12/micropython-LICENSE
%license LICENSE.tinymt32
%{_bindir}/icas
%{_bindir}/giac
%{_bindir}/hevea2mml
%{_bindir}/*_help
%{_libdir}/libgiac.so.*
%{_libdir}/libgiac.so.0.0.0
%{_libdir}/libgiac.so.0
%{_libdir}/libxcas.so.0.0.0
%{_libdir}/libxcas.so.0
%{_libdir}/libgiac.a
%{_libexecdir}/giac/khicas.nwa
%ifnarch %{power64}
%{_libdir}/libmicropython.a
%endif
%{_libdir}/libxcas.a
# The following files are required at runtime by icas AND xcas.
# (Ex: if LANG is fr, alea(5) should give an INT)
# Moreover, without aide_cas the keywords files are not found in icas
@ -318,13 +439,14 @@ make -C check check
%dir %{_datadir}/giac/doc/pt
%dir %{_datadir}/giac/doc/zh
#
%{_infodir}/giac_*.info.gz
%{_infodir}/giac_*.info.*
%{_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
@ -343,7 +465,7 @@ make -C check check
# Files under dirs shared with other packages
%{_datadir}/applications/xcas.desktop
%{_datadir}/metainfo/xcas.appdata.xml
%{_metainfodir}/xcas.metainfo.xml
%{_datadir}/mime/packages/giac.xml
%{_datadir}/pixmaps/xcas.xpm
%{_datadir}/icons/hicolor/*/apps/xcas.png
@ -356,6 +478,7 @@ make -C check check
%files devel
%{_includedir}/giac/
%{_libdir}/libgiac.so
%{_libdir}/libxcas.so
# DOC Files
%files doc -f giacdoclist
@ -371,9 +494,9 @@ make -C check check
# character encoding.
# - The .cas and .cxx files are giac code and function. They are text files
#
# NB: %%{_docdir}/giac is in the -filsystem package
# NB: _docdir/giac is in the -filsystem package
%{_docdir}/giac/*
# Add all the files that are in %%{_datadir}/giac but not giac/aide_cas
# Add all the files that are in _datadir/giac but not giac/aide_cas
# and not those in giac/doc/
%dir %{_datadir}/giac
%dir %{_docdir}/giac
@ -391,193 +514,4 @@ make -C check check
%{_datadir}/giac/examples/
%changelog
* 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 <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.
%autochangelog

View file

@ -1 +1 @@
SHA512 (giac-1.4.9.59.tar.gz) = 027610f0aea165bef945166508a7e6325cbedcac21809ca315be99d95541f88efe77749f62c4512cd714a8ace9368e99b43795a30cf4fd267b4be370c56adb7b
SHA512 (giac-2.0.0.18.tar.gz) = 9b92320c21a94c758e4c18d5393c91f5cd2e2eb66c13ad4aeeb66c70bb53181fb8f82e5288a1c18bf4ae870f132baf6af0ffa5940819d40187b045de24503edc

View file

@ -1,57 +0,0 @@
<?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>