Version 4.3.1p1

- Remove the surfex subpackage
- Drop upstreamed -format-specifier and -gcc12 patches
- Drop obsolete -javac patch
- Convert License tags to SPDX
This commit is contained in:
Jerry James 2023-01-16 16:56:18 -07:00
parent 05d12a0448
commit 59517e3d2a
8 changed files with 207 additions and 2644 deletions

148
Singular-doc-hang.patch Normal file
View File

@ -0,0 +1,148 @@
--- singular-4.3.1/doc/general.doc.orig 2022-07-06 03:32:37.000000000 -0600
+++ singular-4.3.1/doc/general.doc 2023-01-14 10:06:48.967336259 -0700
@@ -3100,7 +3100,7 @@ programs or for parallel computations (s
@strong{Example:}
@smallexample
-@c example
+@c example no_comp
ring r;
link l = "ssi:tcp localhost:"+system("Singular"); // declare a link explicitly
open(l); // needs an open, launches another SINGULAR as a server
--- singular-4.3.1/doc/pl2doc.pl.orig 2022-07-06 03:32:37.000000000 -0600
+++ singular-4.3.1/doc/pl2doc.pl 2023-01-14 20:44:58.342822717 -0700
@@ -117,10 +117,10 @@ unless ($no_fun)
}
# print example
if ($example{$procs[$i]} &&
- ($ex = &CleanUpExample($lib, $example{$procs[$i]})))
+ (($ex, $exec) = &CleanUpExample($lib, $example{$procs[$i]})))
{
print LDOC "\@strong{Example:}\n";
- print LDOC "\@smallexample\n\@c example$tag\n";
+ print LDOC "\@smallexample\n\@c example$tag$exec\n";
print LDOC $ex;
print LDOC "\n\@c example\n\@end smallexample\n";
}
@@ -495,17 +495,18 @@ sub OutKeywords
sub CleanUpExample
{
local($lib, $example) = @_;
+ my $exec;
# find portion in {}
$example =~ s/^[^{]*{(.*)}[^}]*$/$1/s;
if ($example =~ /EXAMPLE: \(not executed\)/)
{
- # erase first three lines
- $example =~ s/^.*\n.*\n.*\n/\n/;
- # erase enclosing " " in every line
- $example =~ s/\n\s*"/\n/g;
- $example =~ s/";\n/\n/g;
+ $exec = " no_comp";
+ }
+ else
+ {
+ $exec = "";
}
# erase EXAMPLE, echo and pause statements
$example =~ s/"EXAMPLE.*"[^;]*;//g;
@@ -535,7 +536,7 @@ sub CleanUpExample
# erase spaces from beginning of lines
$example =~ s/\n\s*/\n/g;
$example =~ s/\s*$//g;
- return $example;
+ return ($example, $exec);
}
sub print_doc_header
--- singular-4.3.1/Singular/LIB/ffmodstd.lib.orig 2022-07-06 03:32:37.000000000 -0600
+++ singular-4.3.1/Singular/LIB/ffmodstd.lib 2023-01-14 21:31:27.896097910 -0700
@@ -1958,7 +1958,7 @@ EXAMPLE: example ffmodStd; shows an exam
}
}
example
-{ "EXAMPLE:"; echo = 2;
+{ "EXAMPLE: (not executed)"; echo = 2;
ring Ra=(0,a),(x,y,z),dp;
ideal I = (a^2+2)*x^2*y+a*y*z^2, x*z^2+(a+1)*x^2-a*y^2;
ffmodStd(I);
--- singular-4.3.1/Singular/LIB/moddiq.lib.orig 2022-07-06 03:32:37.000000000 -0600
+++ singular-4.3.1/Singular/LIB/moddiq.lib 2023-01-14 21:34:17.397946953 -0700
@@ -170,7 +170,7 @@ EXAMPLE: example modSat; shows an examp
}
example
{
- "EXAMPLE:";
+ "EXAMPLE: (not executed)";
echo=2;
ring r=0,x(1..6),dp;
ideal i=cyclic(6);
--- singular-4.3.1/Singular/LIB/parallel.lib.orig 2022-07-06 03:32:37.000000000 -0600
+++ singular-4.3.1/Singular/LIB/parallel.lib 2023-01-14 20:53:17.070588749 -0700
@@ -142,7 +142,7 @@ EXAMPLE: example parallelWaitFirst; sho
}
example
{
- "EXAMPLE:";
+ "EXAMPLE: (not executed)";
echo = 2;
ring R = 0, (x,y,z), lp;
ideal I = 3x3y+x3+xy3+y2z2, 2x3z-xy-xz3-y4-z2, 2x2yz-2xy2+xz2-y4;
@@ -182,7 +182,7 @@ EXAMPLE: example parallelWaitAll; shows
}
example
{
- "EXAMPLE:";
+ "EXAMPLE: (not executed)";
echo = 2;
ring R = 0, (x,y,z), dp;
ideal I1 = z8+z6+4z5+4z3+4z2+4, -z2+y;
@@ -232,7 +232,7 @@ EXAMPLE: example parallelTestAND; shows
}
example
{
- "EXAMPLE:";
+ "EXAMPLE: (not executed)";
echo = 2;
ring R = 0, (x,y,z), dp;
ideal I = x, y, z;
@@ -287,7 +287,7 @@ EXAMPLE: example parallelTestAND; shows
}
example
{
- "EXAMPLE:";
+ "EXAMPLE: (not executed)";
echo = 2;
ring R = 0, (x,y,z), dp;
ideal I;
--- singular-4.3.1/Singular/LIB/tasks.lib.orig 2022-07-06 03:32:37.000000000 -0600
+++ singular-4.3.1/Singular/LIB/tasks.lib 2023-01-14 21:12:17.103467631 -0700
@@ -241,7 +241,7 @@ EXAMPLE: example killTask; shows an exa
}
example
{
- "EXAMPLE:";
+ "EXAMPLE: (not executed)";
echo = 2;
ring R = 0, (x,y), dp;
ideal I = x9y2+x10, x2y7-y8;
@@ -282,7 +282,7 @@ EXAMPLE: example copyTask; shows an exa
}
example
{
- "EXAMPLE:";
+ "EXAMPLE: (not executed)";
echo = 2;
ring R = 0, (x,y), dp;
ideal I = x9y2+x10, x2y7-y8;
@@ -1078,7 +1078,7 @@ EXAMPLE: example waitTasks; shows an ex
}
example
{
- "EXAMPLE:";
+ "EXAMPLE: (not executed)";
echo = 2;
ring R = 0, (x,y), dp;
ideal I = x9y2+x10, x2y7-y8;

View File

@ -1,5 +1,5 @@
--- 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
--- singular-4.3.1/emacs/.emacs-singular.orig 2022-07-06 03:32:37.000000000 -0600
+++ singular-4.3.1/emacs/.emacs-singular 2022-09-20 17:41:04.430333595 -0600
@@ -185,7 +185,7 @@
"" "/")))
@ -18,8 +18,8 @@
(add-submenu nil
'("Singular"
["Start default" singular t]
--- 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
--- singular-4.3.1/resources/feResource.cc.orig 2022-07-06 03:32:37.000000000 -0600
+++ singular-4.3.1/resources/feResource.cc 2022-09-20 17:41:04.430333595 -0600
@@ -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 *)""},
@ -27,5 +27,5 @@
- {"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 *)""},
{"HtmlDir", 'h', feResDir, "SINGULAR_HTML_DIR", DATA_TO_HTML_DIR, (char *)""},
{"ManualUrl", 'u', feResUrl, "SINGULAR_URL", "https://www.singular.uni-kl.de/Manual/", (char *)""},

View File

@ -1,28 +0,0 @@
--- Singular-Release-4-2-1p3/kernel/oswrapper/vspace.cc.orig 2022-03-03 16:09:04.971209163 -0700
+++ Singular-Release-4-2-1p3/kernel/oswrapper/vspace.cc 2022-07-25 13:13:02.041950315 -0600
@@ -725,10 +725,10 @@ static void print_freelists() {
for (int i = 0; i <= LOG2_SEGMENT_SIZE; i++) {
vaddr_t vaddr = vmem.freelist[i];
if (vaddr != VADDR_NULL) {
- std::printf("%2d: %ld", i, vaddr);
+ std::printf("%2d: %zu", i, vaddr);
vaddr_t prev = block_ptr(vaddr)->prev;
if (prev != VADDR_NULL) {
- std::printf("(%ld)", prev);
+ std::printf("(%zu)", prev);
}
assert(block_ptr(vaddr)->prev == VADDR_NULL);
for (;;) {
@@ -737,10 +737,10 @@ static void print_freelists() {
vaddr = block->next;
if (vaddr == VADDR_NULL)
break;
- std::printf(" -> %ld", vaddr);
+ std::printf(" -> %zu", vaddr);
vaddr_t prev = block_ptr(vaddr)->prev;
if (prev != last_vaddr) {
- std::printf("(%ld)", prev);
+ std::printf("(%zu)", prev);
}
}
std::printf("\n");

View File

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

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
--- singular-4.2.0/configure.ac.orig 2021-04-14 06:26:53.000000000 -0600
+++ singular-4.2.0/configure.ac 2021-05-25 19:48:16.657430623 -0600
@@ -341,4 +341,10 @@ AC_ARG_ENABLE([doc-build],
--- singular-4.3.1/configure.ac.orig 2022-07-06 03:32:37.000000000 -0600
+++ singular-4.3.1/configure.ac 2022-09-20 17:37:34.607028620 -0600
@@ -346,4 +346,10 @@ AC_ARG_ENABLE([doc-build],
])
AM_CONDITIONAL([ENABLE_DOC_BUILD], [test "$enable_doc_build" = yes])
@ -11,9 +11,9 @@
+ -i libtool
+])
AC_OUTPUT
--- singular-4.2.0/factory/configure.ac.orig 2021-04-14 09:52:55.000000000 -0600
+++ singular-4.2.0/factory/configure.ac 2021-05-25 19:48:16.658430620 -0600
@@ -412,5 +412,11 @@ AC_DEFINE_UNQUOTED([FACTORYCONFIGURATION
--- singular-4.3.1/factory/configure.ac.orig 2022-07-06 08:34:13.000000000 -0600
+++ singular-4.3.1/factory/configure.ac 2022-09-20 17:37:34.607028620 -0600
@@ -411,5 +411,11 @@ AC_DEFINE_UNQUOTED([FACTORYCONFIGURATION
AC_CONFIG_FILES([Makefile include/factory/Makefile factory.pc]) # ftest/GNUmakefile
@ -25,8 +25,8 @@
+])
AC_OUTPUT
--- singular-4.2.0/gfanlib/configure.ac.orig 2021-04-14 09:52:55.000000000 -0600
+++ singular-4.2.0/gfanlib/configure.ac 2021-05-25 19:48:16.659430617 -0600
--- singular-4.3.1/gfanlib/configure.ac.orig 2022-07-06 08:34:13.000000000 -0600
+++ singular-4.3.1/gfanlib/configure.ac 2022-09-20 17:37:34.607028620 -0600
@@ -48,4 +48,10 @@ AC_LANG_POP()
AC_CONFIG_FILES([Makefile])
@ -38,9 +38,9 @@
+ -i libtool
+])
AC_OUTPUT
--- singular-4.2.0/libpolys/configure.ac.orig 2021-05-25 19:48:16.660430614 -0600
+++ singular-4.2.0/libpolys/configure.ac 2021-05-25 19:51:10.892924374 -0600
@@ -162,4 +162,10 @@ AC_CONFIG_FILES([polys/Makefile])
--- singular-4.3.1/libpolys/configure.ac.orig 2022-07-06 08:34:13.000000000 -0600
+++ singular-4.3.1/libpolys/configure.ac 2022-09-20 17:37:34.607028620 -0600
@@ -166,4 +166,10 @@ AC_CONFIG_FILES([polys/Makefile])
AC_CONFIG_FILES([tests/Makefile])
AC_CONFIG_FILES([libpolys-config], [chmod +x libpolys-config])
AC_CONFIG_FILES([libpolys.pc])
@ -51,8 +51,8 @@
+ -i libtool
+])
AC_OUTPUT
--- singular-4.2.0/omalloc/configure.ac.orig 2021-04-14 09:52:55.000000000 -0600
+++ singular-4.2.0/omalloc/configure.ac 2021-05-25 19:48:16.661430611 -0600
--- singular-4.3.1/omalloc/configure.ac.orig 2022-07-06 08:34:13.000000000 -0600
+++ singular-4.3.1/omalloc/configure.ac 2022-09-20 17:37:34.608028622 -0600
@@ -607,5 +607,11 @@ dnl llllllllllllllllllllllllllllllllllll
dnl wrap it up
dnl
@ -65,10 +65,10 @@
+])
AC_OUTPUT
--- singular-4.2.0/resources/configure.ac.orig 2021-04-14 09:52:55.000000000 -0600
+++ singular-4.2.0/resources/configure.ac 2021-05-25 19:48:16.661430611 -0600
@@ -73,4 +73,10 @@ AX_NORMALIZE_PATH([config_datadir],['/']
AC_DEFINE_UNQUOTED([DATA_DIR],"$config_datadir",[datadir])
--- singular-4.3.1/resources/configure.ac.orig 2022-07-06 08:34:13.000000000 -0600
+++ singular-4.3.1/resources/configure.ac 2022-09-20 17:37:34.608028622 -0600
@@ -78,4 +78,10 @@ AX_COMPUTE_RELATIVE_PATHS([config_datadi
AC_DEFINE_UNQUOTED([DATA_TO_HTML_DIR],"%D/$data_to_html",[htmldir])
AC_CONFIG_FILES([singular_resources.pc Makefile])
+AC_CONFIG_COMMANDS([norpath], [

View File

@ -1,7 +1,7 @@
%global singulardir %{_libdir}/Singular
%global upstreamver 4-2-1
%global upstreamver 4-3-1
%global downstreamver %(tr - . <<< %{upstreamver})
%global patchver p3
%global patchver p1
# The ppc64le builds are no longer able to build the index without the OOM
# killer killing kojid.
@ -24,20 +24,21 @@
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
# nominally GPLv3+, but they are generated by bison, so the bison special
# exception applies
# - The following files are BSD, which is subsumed by both GPLv2 and GPLv3:
# o Singular/links/ndbm.cc
# o Singular/links/ndbm.h
# o Singular/svd/*.{c,h}
# - 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: https://github.com/Singular/Singular/archive/Release-%{upstreamver}%{?patchver}.tar.gz
# - The project as a whole is GPL-2.0-only OR GPL-3.0-only
# - GPL-2.0-or-later:
# - factory/cfNTLzzpEXGCD.{cc,h}
# - GPL-3.0-or-later WITH Bison-exception-2.2:
# - Singular/grammar.{cc,h}
# - BSD-3-Clause:
# - Singular/links/ndbm.{cc,h}
# - Singular/svd
# - Not sure, but similar to HPND and NTP (TODO: check with Legal):
# - omalloc/omReturn.h
License: (GPL-2.0-only OR GPL-3.0-only) AND GPL-2.0-or-later AND GPL-3.0-or-later WITH Bison-exception-2.2 AND BSD-3-Clause AND HPND
Source0: https://www.singular.uni-kl.de/ftp/pub/Math/Singular/SOURCES/%{upstreamver}/singular-%{version}.tar.gz
URL: https://www.singular.uni-kl.de/
BuildRequires: 4ti2
BuildRequires: bison
@ -96,7 +97,11 @@ Requires: TOPCOM%{_isa}
Obsoletes: Singular-polymake < 4.2.0-1
Provides: Singular-polymake = %{version}-%{release}
# Support ARM and S390(x) architectures
# The surfex code is no longer distributed with Singular
# This can be removed when F41 reaches EOL
Obsoletes: Singular-surfex < 4.3.1-1
# Support S390(x) architectures
Patch0: %{name}-arches.patch
# Fix both underlinking and overlinking
Patch1: %{name}-link.patch
@ -114,22 +119,18 @@ Patch6: %{name}-gfanlib.patch
Patch7: %{name}-alias.patch
# 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
# Fix a sequence point error
Patch11: %{name}-sequence-point.patch
Patch9: %{name}-sequence-point.patch
# Avoid an unnecessary array comparison
Patch12: %{name}-array-compare.patch
Patch10: %{name}-array-compare.patch
# Fix several "use after free" scenarios due to temporary objects
Patch13: %{name}-use-after-free.patch
# Fix some incorrect format specifiers
Patch14: %{name}-format-specifier.patch
Patch11: %{name}-use-after-free.patch
# Fix mismatched type declarations
Patch15: %{name}-type-mismatch.patch
Patch12: %{name}-type-mismatch.patch
# Change little-endian-specific code to endian-agnostic code
Patch16: %{name}-endian.patch
Patch13: %{name}-endian.patch
# Disable examples that use the network to avoid hangs on the koji builders
Patch14: %{name}-doc-hang.patch
%description
Singular is a computer algebra system for polynomial computations, with
@ -212,19 +213,9 @@ Requires: flint-devel%{?_isa}
%description libpolys-devel
Development files for libpolys.
%ifarch %{java_arches}
%package surfex
Summary: Singular java interface
Requires: java
Requires: %{name}%{?_isa} = %{version}-%{release}
%description surfex
This package contains the Singular java interface.
%endif
%prep
%autosetup -n Singular-Release-%{upstreamver}%{?patchver} -p1
%autosetup -n singular-%{downstreamver} -p1
%if %{with python}
# Fix the name of the boost_python library
@ -241,9 +232,6 @@ autoreconf -fi
# The file countedref.cc needs to be built without strict aliasing
sed -i '/countedref\.cc/s/\$(CXXFLAGS)/& -fno-strict-aliasing/g' Singular/Makefile.in
# Do not use the prebuilt surfex.jar
rm -f Singular/LIB/surfex/surfex.jar
%build
export CPPFLAGS='-I%{_includedir}/flint -I%{_includedir}/gfanlib'
@ -298,11 +286,6 @@ module load lrcalc-%{_arch}
make -C doc -j1 -f Makefile-docbuild singular.idx
make -C doc -j1 all-local
%endif
%ifarch %{java_arches}
pushd Singular/LIB/surfex
./make_surfex
popd
%endif
%install
@ -312,12 +295,6 @@ popd
rm -fr %{buildroot}%{_includedir}/gfanlib
rm -f %{buildroot}%{_libdir}/libgfan*
%ifarch %{java_arches}
# Install surfex.jar
mkdir %{buildroot}%{_datadir}/singular/LIB/surfex
cp -p Singular/LIB/surfex/surfex.jar %{buildroot}%{_datadir}/singular/LIB/surfex
%endif
# Validate the desktop files
desktop-file-validate %{buildroot}%{_datadir}/applications/Singular.desktop
desktop-file-validate \
@ -335,6 +312,7 @@ rm -f %{buildroot}%{_libexecdir}/singular/MOD/*.la
# Remove files we don't want in the installed tree
rm -f %{buildroot}%{_datadir}/singular/emacs/{ChangeLog,COPYING,NEWS}
rm -fr %{buildroot}%{_docdir}/singular
# Move the config scripts
mkdir -p %{buildroot}%{_bindir}
@ -375,18 +353,6 @@ exec %{singulardir}/TSingular --singular %{_bindir}/Singular "\$@"
EOF
chmod 0755 %{buildroot}%{_bindir}/TSingular
%ifarch %{java_arches}
# surfex
cat > %{buildroot}%{_bindir}/surfex << EOF
#!/bin/sh
. /etc/profile.d/modules.sh
module load surf-geometry-%{_arch}
exec %{singulardir}/surfex %{singulardir}/LIB/surfex "\$@"
EOF
chmod 0755 %{buildroot}%{_bindir}/surfex
%endif
# ESingular
cat > %{buildroot}%{_bindir}/ESingular << EOF
#!/bin/sh
@ -441,8 +407,6 @@ make check
%dir %{_datadir}/singular/
%{_datadir}/singular/LIB/
%ifarch %{java_arches}
%exclude %{_datadir}/singular/LIB/surfex.lib
%exclude %{_datadir}/singular/LIB/surfex
%endif
%files devel
@ -469,13 +433,6 @@ make check
%{_datadir}/singular/emacs/
%{singulardir}/ESingular
%ifarch %{java_arches}
%files surfex
%{_bindir}/surfex
%{_datadir}/singular/LIB/surfex.lib
%{_datadir}/singular/LIB/surfex/
%endif
%files -n factory
%license factory/COPYING
%doc factory/README
@ -516,6 +473,13 @@ make check
%changelog
* Mon Jan 16 2023 Jerry James <loganjerry@gmail.com> - 4.3.1p1-1
- Version 4.3.1p1
- Remove the surfex subpackage
- Drop upstreamed -format-specifier and -gcc12 patches
- Drop obsolete -javac patch
- Convert License tags to SPDX
* Mon Jul 25 2022 Jerry James <loganjerry@gmail.com> - 4.2.1p3-3
- Do not build surfex for i686 (rhbz#2104103)
- Add patches to fix code errors: -sequence-point, -array-compare,

View File

@ -1 +1 @@
SHA512 (Release-4-2-1p3.tar.gz) = 3fca71ead9d3fa190e69f17b342a3321039864b99edfe571d58f9568996c8a25eea2e3f324b78acc37eb14e393a32d856eaf98c366f73f78a586757a68a6be60
SHA512 (singular-4.3.1p1.tar.gz) = d27d8e042ea085e49aed6a0697056c36e78e62ea0b9d17751cdf4c556cf4f6efce3b34b411c77aef97c6d90675bea11c97651eb7009634cb8a9b630ec820a06e