Version 4.2.1p3. Add patch for GCC 12.
This commit is contained in:
parent
724dc78c8c
commit
b43b7db433
|
@ -1,3 +1,4 @@
|
|||
/Singular-*.tar.gz
|
||||
/singular-*.tar.gz
|
||||
/surfex.tar.xz
|
||||
/Release-*.tar.gz
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
# Singular
|
||||
|
||||
[Singular](https://www.singular.uni-kl.de/) is a computer algebra system for
|
||||
polynomial computations, with special emphasis on commutative and
|
||||
non-commutative algebra, algebraic geometry, and singularity theory. It is
|
||||
free and open-source under the GNU General Public License.
|
|
@ -1,34 +1,9 @@
|
|||
--- singular-4.1.1/m4/cpu-check.m4.orig 2018-07-31 07:05:52.000000000 -0600
|
||||
+++ singular-4.1.1/m4/cpu-check.m4 2018-10-24 08:32:44.713629407 -0600
|
||||
@@ -37,6 +37,18 @@ if test "$ac_cv_singcpuname" = ppc; then
|
||||
AC_DEFINE(SI_CPU_PPC,1,"PPC")
|
||||
AC_SUBST(SI_CPU_PPC)
|
||||
fi
|
||||
+if test "$ac_cv_singcpuname" = arm -o "$ac_cv_singcpuname" = armel; then
|
||||
+ AC_DEFINE(SI_CPU_ARM,1,"ARM")
|
||||
+ AC_SUBST(SI_CPU_ARM)
|
||||
+fi
|
||||
+if test "$ac_cv_singcpuname" = aarch64; then
|
||||
+ AC_DEFINE(SI_CPU_AARCH64,1,"AARCH64")
|
||||
+ AC_SUBST(SI_CPU_AARCH64)
|
||||
+fi
|
||||
+if test "$ac_cv_singcpuname" = s390; then
|
||||
+ AC_DEFINE(SI_CPU_S390,1,"S390")
|
||||
+ AC_SUBST(SI_CPU_S390)
|
||||
+fi
|
||||
|
||||
# UNAME and PATH
|
||||
AC_MSG_CHECKING(uname for Singular)
|
||||
@@ -65,6 +77,14 @@ dnl testet on: ppc_Linux, 740/750 PowerM
|
||||
[powerpc*|ppc*], [AC_DEFINE(HAVE_GENERIC_MULT,1,multiplication is fast on the cpu: a*b is with mod otherwise using tables of logartihms)],
|
||||
dnl the following settings seems to be better on arm processors
|
||||
[arm*], [],
|
||||
+dnl FIXME: need to run some tests
|
||||
+ [aarch64*], [
|
||||
+ AC_DEFINE(HAVE_MULT_MOD,1,multiplication is fast on the cpu: a*b is with mod otherwise using tables of logartihms)
|
||||
+ AC_DEFINE(HAVE_GENERIC_ADD,1,use branch for addition in Z/p otherwise it uses a generic add)
|
||||
+ AC_DEFINE(HAVE_DIV_MOD,1,division using extend euclidian algorithm otherwise using tables of logartihms)
|
||||
+ ],
|
||||
--- Singular-Release-4-2-1p3/m4/cpu-check.m4.orig 2021-12-17 11:35:18.000000000 -0700
|
||||
+++ Singular-Release-4-2-1p3/m4/cpu-check.m4 2022-03-03 15:28:43.256747747 -0700
|
||||
@@ -69,6 +69,8 @@ dnl the following settings seems to be b
|
||||
AC_DEFINE(HAVE_INVTABLE,1,division via a table of logarithms)
|
||||
AC_DEFINE(HAVE_GENERIC_MULT,1,multiplication is fast on the cpu: a*b is with mod otherwise using tables of logartihms)
|
||||
],
|
||||
+dnl FIXME: need to run some tests
|
||||
+ [s390*], [AC_DEFINE(HAVE_GENERIC_ADD,1,use branch for addition in Z/p otherwise it uses a generic add)],
|
||||
[]
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
--- singular-4.2.0/emacs/.emacs-singular.orig 2021-04-14 06:26:53.000000000 -0600
|
||||
+++ singular-4.2.0/emacs/.emacs-singular 2021-05-25 19:58:16.350688397 -0600
|
||||
--- Singular-Release-4-2-1p3/emacs/.emacs-singular.orig 2021-12-17 11:35:18.000000000 -0700
|
||||
+++ Singular-Release-4-2-1p3/emacs/.emacs-singular 2022-03-03 15:36:50.506016980 -0700
|
||||
@@ -185,7 +185,7 @@
|
||||
"" "/")))
|
||||
|
||||
|
@ -18,14 +18,14 @@
|
|||
(add-submenu nil
|
||||
'("Singular"
|
||||
["Start default" singular t]
|
||||
--- singular-4.2.0/resources/feResource.cc.orig 2021-04-14 06:26:53.000000000 -0600
|
||||
+++ singular-4.2.0/resources/feResource.cc 2021-05-25 19:58:16.351688394 -0600
|
||||
@@ -83,7 +83,7 @@ VAR feResourceConfig_s feResourceConfigs
|
||||
--- Singular-Release-4-2-1p3/resources/feResource.cc.orig 2022-03-03 15:36:50.506016980 -0700
|
||||
+++ Singular-Release-4-2-1p3/resources/feResource.cc 2022-03-03 15:37:33.897043556 -0700
|
||||
@@ -76,7 +76,7 @@ VAR feResourceConfig_s feResourceConfigs
|
||||
{"RootDir", 'r', feResDir, "SINGULAR_ROOT_DIR", "%b/..", (char *)""},
|
||||
{"DataDir", 'D', feResDir, "SINGULAR_DATA_DIR", "%b/../share/", (char *)""},
|
||||
{"DefaultDir",'d', feResDir, "SINGULAR_DEFAULT_DIR", SINGULAR_DEFAULT_DIR, (char *)""},
|
||||
- {"InfoFile", 'i', feResFile, "SINGULAR_INFO_FILE", "%D/info/singular.hlp", (char *)""},
|
||||
+ {"InfoFile", 'i', feResFile, "SINGULAR_INFO_FILE", "%D/info/singular.hlp.gz", (char *)""},
|
||||
- {"InfoFile", 'i', feResFile, "SINGULAR_INFO_FILE", "%D/info/singular.info", (char *)""},
|
||||
+ {"InfoFile", 'i', feResFile, "SINGULAR_INFO_FILE", "%D/info/singular.info.gz", (char *)""},
|
||||
{"IdxFile", 'x', feResFile, "SINGULAR_IDX_FILE", "%D/singular/singular.idx", (char *)""},
|
||||
{"HtmlDir", 'h', feResDir, "SINGULAR_HTML_DIR", "%D/singular/html", (char *)""},
|
||||
{"ManualUrl", 'u', feResUrl, "SINGULAR_URL", "https://www.singular.uni-kl.de/Manual/", (char *)""},
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
--- Singular-Release-4-2-1p3/kernel/oswrapper/vspace.cc.orig 2021-12-17 11:35:18.000000000 -0700
|
||||
+++ Singular-Release-4-2-1p3/kernel/oswrapper/vspace.cc 2022-03-03 16:09:04.971209163 -0700
|
||||
@@ -555,6 +555,7 @@ int EventSet::wait() {
|
||||
|
||||
} // namespace vspace
|
||||
#else
|
||||
+#include <cstddef>
|
||||
#include <cstdlib>
|
||||
#include <unistd.h>
|
||||
#include <sys/mman.h>
|
|
@ -1,5 +1,5 @@
|
|||
%global singulardir %{_libdir}/Singular
|
||||
%global upstreamver 4-2-0
|
||||
%global upstreamver 4-2-1
|
||||
%global downstreamver %(tr - . <<< %{upstreamver})
|
||||
%global patchver p3
|
||||
|
||||
|
@ -12,7 +12,7 @@
|
|||
|
||||
Name: Singular
|
||||
Version: %{downstreamver}%{?patchver}
|
||||
Release: 3%{?dist}
|
||||
Release: 1%{?dist}
|
||||
Summary: Computer Algebra System for polynomial computations
|
||||
# License analysis:
|
||||
# - factory/readcf.cc, Singular/grammar.cc, and Singular/grammar.h are
|
||||
|
@ -25,14 +25,7 @@ Summary: Computer Algebra System for polynomial computations
|
|||
# - Everything else is marked either "GPLv2 or GPLv3" or "GPLv2 or later", with
|
||||
# the former more strict than the latter
|
||||
License: GPLv2 or GPLv3
|
||||
Source0: http://www.mathematik.uni-kl.de/ftp/pub/Math/Singular/SOURCES/%{upstreamver}/singular-%{version}.tar.gz
|
||||
# Java sources omitted from the source tarball. To recreate this:
|
||||
# - git clone https://github.com/Singular/Sources.git
|
||||
# - cd Sources
|
||||
# - git checkout spielwiese
|
||||
# - git reset --hard 0dabbb616c7d95f0c9e81e9f51b857e3a0bb9e7c
|
||||
# - tar cJf surfex.tar.xz Singular/LIB/surfex
|
||||
Source1: surfex.tar.xz
|
||||
Source0: https://github.com/Singular/Singular/archive/Release-%{upstreamver}%{?patchver}.tar.gz
|
||||
URL: https://www.singular.uni-kl.de/
|
||||
BuildRequires: 4ti2
|
||||
BuildRequires: bison
|
||||
|
@ -69,6 +62,7 @@ BuildRequires: pkgconfig(zlib)
|
|||
%if %{with python}
|
||||
BuildRequires: python2-devel
|
||||
%endif
|
||||
BuildRequires: qepcad-B
|
||||
# Need uudecode for documentation images in tarball
|
||||
BuildRequires: sharutils
|
||||
BuildRequires: surf-geometry
|
||||
|
@ -78,6 +72,7 @@ BuildRequires: TOPCOM
|
|||
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
||||
Requires: environment(modules)
|
||||
Requires: less
|
||||
Requires: qepcad-B
|
||||
Requires: surf-geometry
|
||||
Requires: TOPCOM%{_isa}
|
||||
|
||||
|
@ -101,10 +96,12 @@ Patch5: %{name}-parens.patch
|
|||
Patch6: %{name}-gfanlib.patch
|
||||
# Fix code that violates the strict aliasing rules
|
||||
Patch7: %{name}-alias.patch
|
||||
# Let ESingular read a compressed singular.hlp file
|
||||
# Let ESingular read a compressed singular.info file
|
||||
Patch8: %{name}-emacs.patch
|
||||
# Adapt to Java 11
|
||||
Patch9: %{name}-javac.patch
|
||||
# Adapt to GCC 12
|
||||
Patch10: %{name}-gcc12.patch
|
||||
|
||||
%description
|
||||
Singular is a computer algebra system for polynomial computations, with
|
||||
|
@ -197,7 +194,7 @@ This package contains the Singular java interface.
|
|||
|
||||
|
||||
%prep
|
||||
%autosetup -n singular-%{downstreamver} -a 1 -p1
|
||||
%autosetup -n Singular-Release-%{upstreamver}%{?patchver} -p1
|
||||
|
||||
%if %{with python}
|
||||
# Fix the name of the boost_python library
|
||||
|
@ -221,10 +218,10 @@ export CPPFLAGS="-I%{_includedir}/flint -I%{_includedir}/gfanlib"
|
|||
pyincdir=$(python2 -Esc "import sysconfig; print(sysconfig.get_paths()['include'])")
|
||||
CPPFLAGS="$CPPFLAGS -I$pyincdir"
|
||||
%endif
|
||||
export CFLAGS="%{optflags} -fPIC -fno-delete-null-pointer-checks"
|
||||
export CXXFLAGS="$CFLAGS"
|
||||
export CFLAGS="%{build_cflags} -fPIC -fno-delete-null-pointer-checks"
|
||||
export CXXFLAGS="%{build_cxxflags} -fPIC -fno-delete-null-pointer-checks"
|
||||
# Cannot use RPM_LD_FLAGS, as -Wl,-z,now breaks lazy module loading
|
||||
export LDFLAGS="-Wl,-z,relro"
|
||||
export LDFLAGS="-Wl,--as-needed -Wl,-z,relro"
|
||||
module load 4ti2-%{_arch}
|
||||
module load lrcalc-%{_arch}
|
||||
|
||||
|
@ -258,16 +255,18 @@ module load lrcalc-%{_arch}
|
|||
--without-python \
|
||||
%endif
|
||||
--with-readline \
|
||||
--disable-doc \
|
||||
--enable-doc \
|
||||
--with-malloc=system
|
||||
|
||||
%make_build
|
||||
%make_build -C dox html
|
||||
make -C Singular libparse
|
||||
make -C doc -f Makefile-docbuild singular.idx
|
||||
make -C doc all-local
|
||||
pushd Singular/LIB/surfex
|
||||
./make_surfex
|
||||
popd
|
||||
|
||||
|
||||
%install
|
||||
%make_install
|
||||
|
||||
|
@ -284,6 +283,12 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/Singular.desktop
|
|||
desktop-file-validate \
|
||||
%{buildroot}%{_datadir}/applications/Singular-manual.desktop
|
||||
|
||||
# Remove unnecessary dependencies from the pkgconfig files
|
||||
sed -i 's/ -lflint.*//;s/Libs\.private.*/& -lflint -lmpfr -lntl -lgmp/' \
|
||||
%{buildroot}%{_libdir}/pkgconfig/factory.pc
|
||||
sed -i 's/ -lflint.*//;s/Libs\.private.*/& -lflint -lmpfr -lgmp/' \
|
||||
%{buildroot}%{_libdir}/pkgconfig/libpolys.pc
|
||||
|
||||
# We don't want the libtool files
|
||||
rm -f %{buildroot}%{_libdir}/*.la
|
||||
rm -f %{buildroot}%{_libexecdir}/singular/MOD/*.la
|
||||
|
@ -300,7 +305,9 @@ mkdir -p %{buildroot}%{_mandir}/man1
|
|||
for cmd in ESingular Singular TSingular; do
|
||||
cp -p Singular/$cmd.man %{buildroot}%{_mandir}/man1/$cmd.1
|
||||
done
|
||||
cp -p doc/singular.idx %{buildroot}%{_datadir}/singular
|
||||
cp -a doc/{html,singular.idx} %{buildroot}%{_datadir}/singular
|
||||
mkdir -p %{buildroot}%{_infodir}
|
||||
cp -p doc/singular.info %{buildroot}%{_infodir}
|
||||
|
||||
# remove script that calls surf; we don't ship it
|
||||
rm -f %{buildroot}%{singulardir}/singularsurf
|
||||
|
@ -362,7 +369,7 @@ make check
|
|||
%doc README.md
|
||||
%{_bindir}/Singular
|
||||
%{_bindir}/TSingular
|
||||
%{_infodir}/singular.hlp*
|
||||
%{_infodir}/singular.info*
|
||||
%{_mandir}/man1/Singular.1*
|
||||
%{_mandir}/man1/TSingular.1*
|
||||
%{_datadir}/applications/Singular.desktop
|
||||
|
@ -372,6 +379,7 @@ make check
|
|||
%{_datadir}/singular/singular.idx
|
||||
%docdir %{_datadir}/singular/html/
|
||||
%{_datadir}/singular/html/
|
||||
%dir %{singulardir}
|
||||
%{singulardir}/Singular
|
||||
%{singulardir}/TSingular
|
||||
|
||||
|
@ -380,7 +388,7 @@ make check
|
|||
%license COPYING
|
||||
%license GPL2
|
||||
%license GPL3
|
||||
%{_libdir}/libSingular-4.2.0.so
|
||||
%{_libdir}/libSingular-%{downstreamver}.so
|
||||
%{_libexecdir}/singular/
|
||||
%dir %{_datadir}/singular/
|
||||
%{_datadir}/singular/LIB/
|
||||
|
@ -419,9 +427,9 @@ make check
|
|||
%files -n factory
|
||||
%license factory/COPYING
|
||||
%doc factory/README
|
||||
%{_libdir}/libfactory-4.2.0.so
|
||||
%{_libdir}/libfactory-%{downstreamver}.so
|
||||
%{_libdir}/libomalloc-0.9.6.so
|
||||
%{_libdir}/libsingular_resources-4.2.0.so
|
||||
%{_libdir}/libsingular_resources-%{downstreamver}.so
|
||||
|
||||
%files -n factory-devel
|
||||
%doc factory/examples
|
||||
|
@ -441,7 +449,7 @@ make check
|
|||
%files libpolys
|
||||
%license libpolys/COPYING
|
||||
%doc libpolys/README
|
||||
%{_libdir}/libpolys-4.2.0.so
|
||||
%{_libdir}/libpolys-%{downstreamver}.so
|
||||
|
||||
%files libpolys-devel
|
||||
%{_bindir}/libpolys-config
|
||||
|
@ -456,6 +464,10 @@ make check
|
|||
|
||||
|
||||
%changelog
|
||||
* Thu Mar 17 2022 Jerry James <loganjerry@gmail.com> - 4.2.1p3-1
|
||||
- Version 4.2.1p3
|
||||
- Add patch for GCC 12
|
||||
|
||||
* Sat Feb 05 2022 Jiri Vanek <jvanek@redhat.com> - 4.2.0p3-3
|
||||
- Rebuilt for java-17-openjdk as system jdk
|
||||
|
||||
|
|
3
sources
3
sources
|
@ -1,2 +1 @@
|
|||
SHA512 (singular-4.2.0p3.tar.gz) = b9833389b648ec4ba2bd09253f00254b9ae3dc61313fc81c9003b283fc413caab4274e55750de1c342ef24a8fc0ce817643cd31eabbb2999de7f5017dfa1411f
|
||||
SHA512 (surfex.tar.xz) = a8c5db044bc948f5d783b8efebd51e79839c94c62924ae13db63e0ed3421e15e9812ee19a4caf242fc0d3b5cdcdb4ff8736869a22ba8e7283283732f41d23dcd
|
||||
SHA512 (Release-4-2-1p3.tar.gz) = 3fca71ead9d3fa190e69f17b342a3321039864b99edfe571d58f9568996c8a25eea2e3f324b78acc37eb14e393a32d856eaf98c366f73f78a586757a68a6be60
|
||||
|
|
Loading…
Reference in New Issue