Compare commits

..

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

3 changed files with 29 additions and 273 deletions

View file

@ -1,7 +1,7 @@
%global giturl https://github.com/4ti2/4ti2 %global giturl https://github.com/4ti2/4ti2
Name: 4ti2 Name: 4ti2
Version: 1.6.14 Version: 1.6.10
Release: %autorelease Release: %autorelease
Summary: Algebraic, geometric and combinatorial problems on linear spaces Summary: Algebraic, geometric and combinatorial problems on linear spaces
@ -13,28 +13,10 @@ Summary: Algebraic, geometric and combinatorial problems on linear spaces
# CM: Knuth-CTAN # CM: Knuth-CTAN
# CM-Super: GPL-1.0-or-later # CM-Super: GPL-1.0-or-later
License: GPL-2.0-or-later AND OFL-1.1-RFN AND Knuth-CTAN AND GPL-1.0-or-later License: GPL-2.0-or-later AND OFL-1.1-RFN AND Knuth-CTAN AND GPL-1.0-or-later
# Source files under licenses other than GPL-2.0-or-later:
# GPL-2.0-or-later WITH Autoconf-exception-macro: compile,
# m4/ax_cflags_warn_all.m4
# GPL-2.0-or-later WITH Libtool-exception: configure, ltmain.sh
# GPL-2.0-or-later OR MIT: ltmain.sh
# GPL-3.0-or-later: lib/*.{c,h} (not compiled into the binary)
# GPL-3.0-or-later WITH Autoconf-exception-generic: lib/Makefile.am,
# m4/onceonly.m4
# GPL-3.0-or-later WITH Autoconf-exception-macro: config.guess,
# m4/ax_check_compile_flag.m4
# FSFUL: configure, m4/libtool.m4
# FSFULLR: aclocal.m4, m4/00gnulib.m4, m4/libtool.m4
# FSFULLRWD: aclocal.m4, Makefile.in
# X11: install-sh
# LicenseRef-Fedora-Public-Domain: install-sh
SourceLicense: GPL-2.0-or-later AND GPL-2.0-or-later WITH Autoconf-exception-macro AND GPL-2.0-or-later WITH Libtool-exception AND (GPL-2.0-or-later OR MIT) AND GPL-3.0-or-later AND GPL-3.0-or-later WITH Autoconf-exception-generic AND GPL-3.0-or-later WITH Autoconf-exception-macro AND FSFUL AND FSFULLR AND FSFULLRWD AND X11 AND LicenseRef-Fedora-Public-Domain
URL: https://4ti2.github.io/ URL: https://4ti2.github.io/
VCS: git:%{giturl}.git VCS: git:%{giturl}.git
Source0: %{giturl}/releases/download/Release_%{relver}/%{name}-%{version}.tar.gz Source0: %{giturl}/releases/download/Release_%{relver}/%{name}-%{version}.tar.gz
Source1: 4ti2.module.in Source1: 4ti2.module.in
# Do not discard const qualifiers
Patch: %{giturl}/pull/58.patch
# See https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval # See https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
ExcludeArch: %{ix86} ExcludeArch: %{ix86}
@ -56,15 +38,14 @@ Requires: 4ti2-libs%{?_isa} = %{version}-%{release}
Requires: environment(modules) Requires: environment(modules)
%description %description
A software package for algebraic, geometric and combinatorial problems on A software package for algebraic, geometric and combinatorial problems
linear spaces. on linear spaces.
This package uses Environment Modules. Prior to invoking the binaries, you This package uses Environment Modules. Prior to invoking the binaries,
must run "module load 4ti2-%{_arch}" to modify your PATH. you must run "module load 4ti2-%{_arch}" to modify your PATH.
%package devel %package devel
Summary: Headers needed to develop software that uses 4ti2 Summary: Headers needed to develop software that uses 4ti2
License: GPL-2.0-or-later
Requires: 4ti2-libs%{?_isa} = %{version}-%{release} Requires: 4ti2-libs%{?_isa} = %{version}-%{release}
Requires: gmp-devel%{?_isa} Requires: gmp-devel%{?_isa}
@ -73,21 +54,32 @@ Headers and library files needed to develop software that uses 4ti2.
%package libs %package libs
Summary: Library for problems on linear spaces Summary: Library for problems on linear spaces
License: GPL-2.0-or-later
%description libs %description libs
A library for algebraic, geometric and combinatorial problems on linear A library for algebraic, geometric and combinatorial problems on linear
spaces. spaces.
%prep %prep
%autosetup -p1 %autosetup
# Add a missing executable bit
chmod a+x ltmain.sh
%conf
# Fix encodings # Fix encodings
iconv -f ISO8859-1 -t UTF-8 NEWS > NEWS.utf8 iconv -f ISO8859-1 -t UTF-8 NEWS > NEWS.utf8
touch -r NEWS NEWS.utf8 touch -r NEWS NEWS.utf8
mv -f NEWS.utf8 NEWS mv -f NEWS.utf8 NEWS
# Update the C++ standard
sed -i 's/c++0x/c++11/g' configure
%build
# Do not override Fedora compiler flags
sed -e 's|-O3 -fomit-frame-pointer|%{build_cflags}|' \
-e 's/-march=\$arch -mcpu=\$arch -m\$arch//' \
-e 's/-mtune=\$arch//' \
-i configure
%configure --enable-shared --disable-static %configure --enable-shared --disable-static
# Get rid of undesirable hardcoded rpaths; workaround libtool reordering # Get rid of undesirable hardcoded rpaths; workaround libtool reordering
@ -97,17 +89,16 @@ sed -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' \
-e 's|CC="\(.*g..\)"|CC="\1 -Wl,--as-needed"|' \ -e 's|CC="\(.*g..\)"|CC="\1 -Wl,--as-needed"|' \
-i libtool -i libtool
%build
%make_build %make_build
# Build the manual # Build the manual
export LD_LIBRARY_PATH=$PWD/src/4ti2/.libs:$PWD/src/fiber/.libs:$PWD/src/groebner/.libs:$PWD/src/ppi/.libs:$PWD/src/util/.libs:$PWD/src/zsolve/.libs export LD_LIBRARY_PATH=$PWD/src/4ti2/.libs:$PWD/src/fiber/.libs:$PWD/src/groebner/.libs:$PWD/src/ppi/.libs:$PWD/src/util/.libs:$PWD/src/zsolve/.libs
cd doc pushd doc
make update-manual make update-manual
bibtex 4ti2_manual bibtex 4ti2_manual
pdflatex 4ti2_manual pdflatex 4ti2_manual
pdflatex 4ti2_manual pdflatex 4ti2_manual
cd - popd
%install %install
%make_install %make_install
@ -127,6 +118,9 @@ mkdir -p %{buildroot}%{_modulesdir}
# Since we're doing our own substitution here, use our own definitions. # Since we're doing our own substitution here, use our own definitions.
sed 's#@LIBDIR@#'%{_libdir}/4ti2'#g;' < %SOURCE1 >%{buildroot}%{_modulesdir}/4ti2-%{_arch} sed 's#@LIBDIR@#'%{_libdir}/4ti2'#g;' < %SOURCE1 >%{buildroot}%{_modulesdir}/4ti2-%{_arch}
# We don't need or want libtool files
rm -f %{buildroot}%{_libdir}/*.la
# We don't want documentation in _datadir # We don't want documentation in _datadir
rm -fr %{buildroot}%{_datadir}/4ti2/doc rm -fr %{buildroot}%{_datadir}/4ti2/doc
@ -142,13 +136,13 @@ make check
%files devel %files devel
%{_includedir}/4ti2/ %{_includedir}/4ti2/
%{_libdir}/lib4ti2*.so %{_libdir}/lib4ti2*.so
%{_libdir}/libzsolve.so %{_libdir}/libzsolve*.so
%files libs %files libs
%doc AUTHORS NEWS README.md THANKS %doc NEWS README THANKS TODO
%license COPYING %license COPYING
%{_libdir}/lib4ti2*.so.0{,.*} %{_libdir}/lib4ti2*.so.0*
%{_libdir}/libzsolve.so.0{,.*} %{_libdir}/libzsolve*.so.0*
%changelog %changelog
%autochangelog %autochangelog

238
58.patch
View file

@ -1,238 +0,0 @@
From c64563088b224a778a236c1e1495f0a4edd2c9df Mon Sep 17 00:00:00 2001
From: Jerry James <loganjerry@gmail.com>
Date: Wed, 26 Nov 2025 11:02:23 -0700
Subject: [PATCH] Do not discard const qualifiers
---
src/util/output.c | 2 +-
src/util/output.h | 2 +-
src/util/print.c | 40 ++++++++++++++++++++++------------------
src/util/print.h | 36 ++++++++++++++++++++----------------
4 files changed, 44 insertions(+), 36 deletions(-)
diff --git a/src/util/output.c b/src/util/output.c
index 8623d01..a0f4f62 100644
--- a/src/util/output.c
+++ b/src/util/output.c
@@ -37,7 +37,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#include "banner.h"
/* ----------------------------------------------------------------- */
-listVector* readListVector(int *numOfVars, char *fileName) {
+listVector* readListVector(int *numOfVars, const char *fileName) {
int numOfVectors;
listVector *basis, *endBasis;
vector b;
diff --git a/src/util/output.h b/src/util/output.h
index 93bece5..bbcff84 100644
--- a/src/util/output.h
+++ b/src/util/output.h
@@ -1,3 +1,3 @@
int output_main(int, char**);
-listVector* readListVector(int*, char*);
+listVector* readListVector(int*, const char*);
listVector* extractNonDominatedVectors(listVector*, listVector*, int);
diff --git a/src/util/print.c b/src/util/print.c
index 157200a..eca5b82 100644
--- a/src/util/print.c
+++ b/src/util/print.c
@@ -82,7 +82,8 @@ void printVectorToFile(FILE *out, vector v, int numOfVars) {
return ;
}
/* ----------------------------------------------------------------- */
-void printListVectorToFile(char* fileName, listVector* basis, int numOfVars) {
+void printListVectorToFile(const char* fileName, listVector* basis,
+ int numOfVars) {
int len;
FILE* out;
@@ -106,8 +107,8 @@ void printListVectorToFile(char* fileName, listVector* basis, int numOfVars) {
fclose(out);
return ;
}
-/* ----------------------------------------------------------------- */
-void printSubsetOfListVectorToFile(char* fileName, listVector* basis,
+/* ------------------------------------------------------------------------ */
+void printSubsetOfListVectorToFile(const char* fileName, listVector* basis,
vector ind, int numOfVars) {
int len,len2,j;
FILE* out;
@@ -147,7 +148,8 @@ void printVectorWithoutColumnToFile(FILE *out, vector v, int ind,
return ;
}
/* ----------------------------------------------------------------- */
-void printListVectorWithoutColumnToFile(char* fileName, listVector* basis,
+void printListVectorWithoutColumnToFile(const char* fileName,
+ listVector* basis,
int ind, int numOfVars) {
int len;
FILE* out;
@@ -185,7 +187,7 @@ void printVectorWithAddtionalColumnToFile(FILE *out, vector v, int ind,
return ;
}
/* ----------------------------------------------------------------- */
-void printListVectorWithAdditionalColumnToFile(char* fileName,
+void printListVectorWithAdditionalColumnToFile(const char* fileName,
listVector* basis,
int ind, int val,
int numOfVars) {
@@ -214,7 +216,7 @@ void printListVectorWithAdditionalColumnToFile(char* fileName,
return ;
}
/* ----------------------------------------------------------------- */
-void printTransposedListVectorToFile(char* fileName, listVector* basis,
+void printTransposedListVectorToFile(const char* fileName, listVector* basis,
int numOfVars) {
int i,len;
listVector *tmp;
@@ -318,7 +320,7 @@ void printBinomialToFile(FILE *out, vector v, int numOfVars, char** labels) {
return ;
}
/* ----------------------------------------------------------------- */
-void printListBinomialsToFile(char* fileName, listVector* basis,
+void printListBinomialsToFile(const char* fileName, listVector* basis,
int numOfVars, char** labels) {
FILE* out;
@@ -377,7 +379,8 @@ void printMonomialToFile(FILE *out, vector v, int numOfVars, char** labels) {
return ;
}
/* ----------------------------------------------------------------- */
-void printListMonomialsAndBinomialsToFile(char* fileName, listVector* basis,
+void printListMonomialsAndBinomialsToFile(const char* fileName,
+ listVector* basis,
int numOfVars, char** labels) {
FILE* out;
@@ -455,7 +458,8 @@ void printVectorToFileMacaulay2(FILE *out, vector v, int numOfVars) {
return ;
}
/* ----------------------------------------------------------------- */
-void printListVectorMaple(char* fileName, listVector* basis, int numOfVars) {
+void printListVectorMaple(const char* fileName, listVector* basis,
+ int numOfVars) {
FILE* out;
if (!(out = fopen(fileName,"w"))) {
@@ -480,7 +484,7 @@ void printListVectorMaple(char* fileName, listVector* basis, int numOfVars) {
return ;
}
/* ----------------------------------------------------------------- */
-void printListVectorMacaulay2(char* fileName, listVector* basis,
+void printListVectorMacaulay2(const char* fileName, listVector* basis,
int numOfVars) {
FILE* out;
@@ -506,8 +510,8 @@ void printListVectorMacaulay2(char* fileName, listVector* basis,
return ;
}
/* ----------------------------------------------------------------- */
-void print3wayTables(char* fileName, listVector* basis, int x, int y,
- int z, int numOfVars) {
+void print3wayTables(const char* fileName, listVector* basis, int x,
+ int y, int z, int numOfVars) {
int i,j,k;
vector v;
FILE* out;
@@ -583,7 +587,7 @@ void printL1NormOfListVector(listVector *basis, int numOfVars) {
return;
}
/* ----------------------------------------------------------------- */
-void printListVectorWithGivenDegreesToFile(char *outFileName,
+void printListVectorWithGivenDegreesToFile(const char *outFileName,
listVector *basis, int numOfVars,
int lowdegree, int highdegree){
int i,s,len;
@@ -647,7 +651,7 @@ void printSupportsOfListVector(listVector *basis, int numOfVars) {
return;
}
/* ----------------------------------------------------------------- */
-void printListVectorWithGivenSupportsToFile(char *outFileName,
+void printListVectorWithGivenSupportsToFile(const char *outFileName,
listVector *basis, int numOfVars,
int lowdegree, int highdegree){
int i,s,len;
@@ -724,7 +728,7 @@ void printTypesOfListVector(listVector *basis, int sizeOfLayer,
return;
}
/* ----------------------------------------------------------------- */
-void printListVectorWithGivenNonzeroEntryToFile(char *outFileName,
+void printListVectorWithGivenNonzeroEntryToFile(const char *outFileName,
listVector *basis,
int numOfVars,
int coord){
@@ -760,8 +764,8 @@ void printListVectorWithGivenNonzeroEntryToFile(char *outFileName,
return;
}
/* ----------------------------------------------------------------- */
-void writeResult(listVector *basis, int numOfVars, char *fileName,
- char *basisType, int infoLevel) {
+void writeResult(listVector *basis, int numOfVars, const char *fileName,
+ const char *basisType, int infoLevel) {
const char *infoMessage="undefined";
const char *outExtension="";
char *outFileName=NULL;
@@ -803,7 +807,7 @@ void writeResult(listVector *basis, int numOfVars, char *fileName,
return;
}
/* ----------------------------------------------------------------- */
-void printListRepresentativesToFile(char* fileName, listOrbit* basis,
+void printListRepresentativesToFile(const char* fileName, listOrbit* basis,
int numOfVars) {
int len;
FILE* out;
diff --git a/src/util/print.h b/src/util/print.h
index 3789562..2d07334 100644
--- a/src/util/print.h
+++ b/src/util/print.h
@@ -24,30 +24,34 @@ void printVersionInfo();
void printVector(vector, int);
void printListVector(listVector*, int);
void printVectorToFile(FILE*, vector, int);
-void printListVectorToFile(char*, listVector*, int);
-void printSubsetOfListVectorToFile(char*, listVector*, vector, int);
-void printListVectorWithoutColumnToFile(char*, listVector*, int, int);
-void printListVectorWithAdditionalColumnToFile(char*, listVector*, int, int,
- int);
-void printTransposedListVectorToFile(char*, listVector*, int);
+void printListVectorToFile(const char*, listVector*, int);
+void printSubsetOfListVectorToFile(const char*, listVector*, vector, int);
+void printListVectorWithoutColumnToFile(const char*, listVector*, int, int);
+void printListVectorWithAdditionalColumnToFile(const char*, listVector*, int,
+ int, int);
+void printTransposedListVectorToFile(const char*, listVector*, int);
void printVectorToFileWithBrackets(FILE*, vector, int);
void printBinomialToFile(FILE*, vector, int, char**);
-void printListBinomialsToFile(char*, listVector*, int, char**);
+void printListBinomialsToFile(const char*, listVector*, int, char**);
void printMonomialToFile(FILE*, vector, int, char**);
-void printListMonomialsAndBinomialsToFile(char*, listVector*, int, char**);
+void printListMonomialsAndBinomialsToFile(const char*, listVector*, int,
+ char**);
void printMatrix(vector, int, int);
void printVectorToFileMaple(FILE*, vector, int);
-void printListVectorMaple(char*, listVector*, int);
-void printListVectorMacaulay2(char*, listVector*, int);
-void print3wayTables(char*, listVector*, int, int, int, int);
+void printListVectorMaple(const char*, listVector*, int);
+void printListVectorMacaulay2(const char*, listVector*, int);
+void print3wayTables(const char*, listVector*, int, int, int, int);
void printL1NormOfListVector(listVector*, int);
-void printListVectorWithGivenDegreesToFile(char*, listVector*, int, int, int);
+void printListVectorWithGivenDegreesToFile(const char*, listVector*, int,
+ int, int);
void printSupportsOfListVector(listVector*, int);
void printTypesOfListVector(listVector*, int, int);
-void printListVectorWithGivenSupportsToFile(char*, listVector*, int, int, int);
-void printListVectorWithGivenNonzeroEntryToFile(char*, listVector*, int, int);
-void writeResult(listVector*, int, char*, char*, int);
-void printListRepresentativesToFile(char*, listOrbit*, int);
+void printListVectorWithGivenSupportsToFile(const char*, listVector*, int,
+ int, int);
+void printListVectorWithGivenNonzeroEntryToFile(const char*, listVector*, int,
+ int);
+void writeResult(listVector*, int, const char*, const char*, int);
+void printListRepresentativesToFile(const char*, listOrbit*, int);
void printRationalVector(rationalVector*, int);
void printRationalVectorToFileWithoutBrackets(FILE*, rationalVector*, int);

View file

@ -1 +1 @@
SHA512 (4ti2-1.6.14.tar.gz) = 87b990de9c6dbe564bd700c6548c422ada52e0e3a0b3457f84c103124bee4fce05c49d7ee3c6ead145bbbd51e11969639dc75fe8f5b337457a3f3590af5315c3 SHA512 (4ti2-1.6.10.tar.gz) = d591ed272664c7467e9b28082c0a99002b3a4616cf437eecd243ccca2ab0f08abdba5dcd039a109b05793f7aaf9f405af9a58c7eff90b7b01b3b1f34fb7fdb2e