Compare commits

..

No commits in common. "rawhide" and "f41" have entirely different histories.

5 changed files with 39 additions and 96 deletions

4
.gitignore vendored
View file

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

@ -4,8 +4,8 @@
# package maintainer.
#
VERSION="2.0.0"
VERSIONREV="18"
VERSION="1.9.0"
VERSIONREV="993"
# 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 "https://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,8 +1,8 @@
--- 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
@@ -22,12 +22,7 @@
#define _GIAC_FIRST_H_
// register is deprecated in c++17
-#define register
-
@ -14,24 +14,3 @@
#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];
}

View file

@ -1,20 +1,16 @@
# 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
%endif
%bcond_without flexiblas
%global _lto_cflags %{nil}
%global subversion .18
%global subversion .993
Name: giac
Summary: Computer Algebra System, Symbolic calculus, Geometry
Version: 2.0.0%{subversion}
Version: 1.9.0%{subversion}
Release: %autorelease
# GPL-3.0-or-later: the project as a whole
# GPL-3.0-only: src/TmpFGLM.*, src/TmpLESystemSolver.*
@ -26,9 +22,9 @@ Release: %autorelease
# 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
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
@ -58,17 +54,13 @@ Patch6: %{name}-undefine_GLIBCXX_ASSERTIONS.patch
# 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
@ -137,14 +129,12 @@ 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)
@ -152,7 +142,7 @@ Provides: bundled(FileSaver.js)
License: GPL-3.0-or-later AND GFDL-1.1-or-later
%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.
@ -170,7 +160,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,7 +171,7 @@ 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
@ -240,16 +230,13 @@ 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="$OPT_FLAGS -std=gnu++14"
export CFLAGS_FEDORA="$OPT_FLAGS"
%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
@ -258,13 +245,13 @@ 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
g++ $OPT_FLAGS -std=gnu++14 src/mkjs.cc -o src/mkjs
#
# 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 CXXFLAGS="$OPT_FLAGS -std=gnu++14"
export CFLAGS_FEDORA="$OPT_FLAGS"
export LDFLAGS_FEDORA="$OPT_FLAGS"
%make_build
@ -281,9 +268,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}/
@ -325,8 +310,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,13 +326,12 @@ 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}
%find_lang %{name}
desktop-file-install --vendor="" --remove-key=Encoding \
--set-key=Version --set-value=1.0 \
--dir=%{buildroot}%{_datadir}/applications/ \
@ -387,23 +369,13 @@ 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
@ -412,13 +384,8 @@ make -C check check
%{_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
# The following files are required at runtime by icas AND xcas.
# (Ex: if LANG is fr, alea(5) should give an INT)
@ -446,7 +413,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
@ -478,7 +444,6 @@ make -C check check
%files devel
%{_includedir}/giac/
%{_libdir}/libgiac.so
%{_libdir}/libxcas.so
# DOC Files
%files doc -f giacdoclist
@ -494,9 +459,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

View file

@ -1 +1 @@
SHA512 (giac-2.0.0.18.tar.gz) = 9b92320c21a94c758e4c18d5393c91f5cd2e2eb66c13ad4aeeb66c70bb53181fb8f82e5288a1c18bf4ae870f132baf6af0ffa5940819d40187b045de24503edc
SHA512 (giac-1.9.0.993.tar.gz) = 2fcc5199ef0cd6811b5fd231c316c1ca0279c85216f6cf46b332fb562f55d21945f5c8f26d1a61aa4e0db897602ffd0b4c1b54e9a9ac1c2796f469d1a6493f83