2 Commits

Author SHA256 Message Date
eaf60050f6 Add patches for flint 3.3.x 2025-06-16 12:13:43 +02:00
10a54a3cf4 singular 4.4.1 2025-03-15 01:13:35 +01:00
8 changed files with 120 additions and 30 deletions

View File

@@ -0,0 +1,27 @@
From 05f5116e13c8a4f5f820c78c35944dd6d197d442 Mon Sep 17 00:00:00 2001
From: Doug Torrance <dtorrance@piedmont.edu>
Date: Sat, 14 Jun 2025 10:45:30 -0400
Subject: [PATCH 1/2] Use fq_nmod_mat_entry instead of row pointer (removed in
flint 3.3.0) (#1278)
fixes #1279
---
factory/FLINTconvert.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/factory/FLINTconvert.cc b/factory/FLINTconvert.cc
index c36f6022d..a4d86fd17 100644
--- a/factory/FLINTconvert.cc
+++ b/factory/FLINTconvert.cc
@@ -652,7 +652,7 @@ convertFacCFMatrix2Fq_nmod_mat_t (fq_nmod_mat_t M,
{
for(j=m.columns();j>0;j--)
{
- convertFacCF2nmod_poly_t (M->rows[i-1]+j-1, m (i,j));
+ convertFacCF2nmod_poly_t (fq_nmod_mat_entry(M, i-1, j-1), m (i,j));
}
}
}
--
2.49.0

View File

@@ -0,0 +1,26 @@
From 595d7167e6e019d45d9a4f1e18ae741df1f3c41d Mon Sep 17 00:00:00 2001
From: Weijia Wang <9713184+wegank@users.noreply.github.com>
Date: Sun, 15 Jun 2025 16:14:09 +0200
Subject: [PATCH 2/2] Use fq_nmod_mat_entry instead of row pointer (take 2)
(#1280)
---
libpolys/polys/flintconv.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libpolys/polys/flintconv.cc b/libpolys/polys/flintconv.cc
index 89152f5e4..277a62bf1 100644
--- a/libpolys/polys/flintconv.cc
+++ b/libpolys/polys/flintconv.cc
@@ -331,7 +331,7 @@ void convSingMFlintFq_nmod_mat(matrix m, fq_nmod_mat_t M, const fq_nmod_ctx_t fq
{
for(j=MATCOLS(m);j>0;j--)
{
- convSingPFlintnmod_poly_t (M->rows[i-1]+j-1, MATELEM(m,i,j),r);
+ convSingPFlintnmod_poly_t (fq_nmod_mat_entry(M, i-1, j-1), MATELEM(m,i,j),r);
}
}
}
--
2.49.0

BIN
Release-4-4-1.tar.gz LFS Normal file

Binary file not shown.

Binary file not shown.

View File

@@ -1 +0,0 @@
addFilter("shlib-policy-name-error")

View File

@@ -1,3 +1,30 @@
-------------------------------------------------------------------
Mon Jun 16 10:13:11 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
- Resolve FTBFS with flint 3.3.x:
add 0001-Use-fq_nmod_mat_entry-instead-of-row-pointer-removed.patch,
0002-Use-fq_nmod_mat_entry-instead-of-row-pointer-take-2-.patch
-------------------------------------------------------------------
Fri Mar 14 18:24:37 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
- Update to release 4.4.1
* Added new libraries:
* modfinduni.lib: parallel computation of finduni
* sagbiNormaliz.lib: computation of Sagbi bases via normaliz
* stdmodule.lib: Compute Standard Bases of submodule of free
module over polynomial subalgebra
* tropicalEllipticCovers.lib: GromovWitten numbers of tropical
elliptic curves and their covers
* arnold.lib: Classification of isolated singularities with a
nondegenerate Newton Boundary
* modprimdec.lib: primary decompisition by modular methods
* modquotient.lib: ideal quotient and saturation by modular
methods
* transformation.lib: The image of a transformation given up to a
specified degree
- Add versioned-pkglibdir.patch
-------------------------------------------------------------------
Sun Mar 10 11:55:24 UTC 2024 - Jan Engelhardt <jengelh@inai.de>

View File

@@ -1,7 +1,7 @@
#
# spec file for package singular
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,36 +16,37 @@
#
%define verud 4_3_2
%define mainversion 4.3.2
%define patchlevel p16
%define _buildshell /bin/bash
%define verud 4_4_1
Name: singular
Version: %mainversion%{?patchlevel:.%patchlevel}
Version: 4.4.1
Release: 0
Summary: Computer algebra system for polynomials
License: BSD-3-Clause AND GPL-2.0-only AND GPL-3.0-only AND LGPL-2.1-only
Group: Productivity/Scientific/Math
URL: https://www.singular.uni-kl.de/
#Git-Clone: https://github.com/Singular/Singular
Source: https://www.singular.uni-kl.de/ftp/pub/Math/Singular/SOURCES/4-3-2/%name-%mainversion%patchlevel.tar.gz
Source9: %name-rpmlintrc
Source: https://github.com/Singular/Singular/archive/refs/tags/Release-4-4-1.tar.gz
Patch1: versioned-pkglibdir.patch
Patch2: 0001-Use-fq_nmod_mat_entry-instead-of-row-pointer-removed.patch
Patch3: 0002-Use-fq_nmod_mat_entry-instead-of-row-pointer-take-2-.patch
BuildRequires: autoconf >= 2.62
BuildRequires: automake
BuildRequires: bison >= 1.2.2
BuildRequires: fdupes
BuildRequires: flex >= 2.4
BuildRequires: flint-devel >= 2.4
BuildRequires: gcc-c++
BuildRequires: gmp-devel >= 4.2
BuildRequires: libtool
BuildRequires: mpfr-devel >= 3
BuildRequires: ncurses-devel
BuildRequires: ntl-devel >= 5
BuildRequires: perl >= 5
BuildRequires: pkgconfig
BuildRequires: readline-devel
BuildRequires: sharutils
BuildRequires: xz
BuildRequires: pkgconfig(flint) >= 2.4
BuildRequires: pkgconfig(mpfr) >= 3
BuildRequires: pkgconfig(ncurses)
Recommends: gfan
# see doc/NEWS.texi for changelog
@@ -78,7 +79,7 @@ Recommends: libfactory-gftables = %version
%description -n libfactory-%verud
Factory is a C++ class library that implements a recursive
representation of multivariate polynomial data. Factory handles
representation of multivariate polynomial data. It handles
sparse multivariate polynomials over different coefficient domains,
such as Z, Q and GF(q), as well as algebraic extensions over Q and
GF(q) in an efficient way. Factory includes algorithms for computing
@@ -104,13 +105,7 @@ Requires: libfactory-%verud = %version-%release
%description -n libfactory-devel
Factory is a C++ class library that implements a recursive
representation of multivariate polynomial data. Factory handles
sparse multivariate polynomials over different coefficient domains,
such as Z, Q and GF(q), as well as algebraic extensions over Q and
GF(q) in an efficient way. Factory includes algorithms for computing
univariate and multivariate gcds, resultants, chinese remainders, and
several algorithms to factorize univariate polynomials over the
integers and over finite fields.
representation of multivariate polynomial data.
This package contains the include and library files.
@@ -179,23 +174,24 @@ Requires: libsingular_resources-%verud = %version-%release
(Upstream has not provided any description.)
%prep
%autosetup -n singular-%mainversion -p1
%autosetup -n Singular-Release-4-4-1 -p1
%build
./autogen.sh
%configure --disable-static --bindir=%_libexecdir/%name
%make_build PACKAGE_VERSION="%version"
# %%configure adds optimization flags already, skip the script's wonky attempt to do the same
%configure --disable-static --bindir="%_libexecdir/%name" \
--disable-optimizationflags
%make_build PACKAGE_VERSION="%version" moduledir="%_libdir/singular-%version/MOD"
%install
b="%buildroot"
%make_install PACKAGE_VERSION="%version"
rm -f "$b/%_libdir"/*.la
%make_install PACKAGE_VERSION="%version" moduledir="%_libdir/singular-%version/MOD"
find "%buildroot" -type f -name "*.la" -print -delete
mkdir -p "$b/%_bindir"
blen="${#b}"
for i in "$b/%_libexecdir/%name"/*Singular; do
ln -s "${i:$blen}" "$b/%_bindir/"
done
find "%buildroot/usr/share/doc" -type f -exec chmod a-x {} +
%if 0%{?fdupes:1}
%fdupes %buildroot/%_prefix
%endif
@@ -209,13 +205,12 @@ find "%buildroot/usr/share/doc" -type f -exec chmod a-x {} +
%files
%_bindir/*Singular
%_libexecdir/singular/
%_libdir/singular-%version/
%_datadir/applications/*
%_datadir/icons/*
%_datadir/man/man1/*
%_datadir/ml_*/
%_datadir/singular/
/usr/share/doc/singular/
%_infodir/*
%license COPYING GPL2 GPL3
%files -n libfactory-%verud

16
versioned-pkglibdir.patch Normal file
View File

@@ -0,0 +1,16 @@
From: Jan Engelhardt <jengelh@inai.de>
Date: 2025-03-14 19:58:42.309411313 +0100
diff --git resources/feResource.cc resources/feResource.cc
index 0a93363fd..ccf8b9009 100644
--- a/resources/feResource.cc
+++ a/resources/feResource.cc
@@ -56,7 +56,7 @@ VAR feResourceConfig_s feResourceConfigs[] =
"%b/MOD;"
"%b/../MOD;" // Singular in .libs/Singular
"%r/lib/singular/MOD;"
- LIB_DIR "/singular/MOD;"
+ LIB_DIR "/singular-" PACKAGE_VERSION "/MOD;"
"%b;"
"%b/..", // Singular in .libs/Singular
(char *)""},