Compare commits

...

15 Commits

Author SHA1 Message Date
David Abdurachmanov b427135a4e
Bootstrap (riscv64)
Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
2024-03-06 11:20:57 +02:00
David Abdurachmanov bcb71a69a4
Merge remote-tracking branch 'up/main' into main-riscv64
Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
2024-03-06 11:19:44 +02:00
Jerry James ca862bae90 Non-bootstrap build 2024-02-23 09:18:21 -07:00
Jerry James 950bb01657 Version 1.17.9
- Update License from EPL-1.0 to EPL-2.0 AND EPL-1.0
- Verify the license is valid SPDX
- BR asl-devel
- Drop upstreamed badcolumn and sprintf patches
- Remove transitive dependencies from the pkgconfig file
2024-02-05 14:23:40 -07:00
Orion Poplawski 397f0d55b6 Non-bootstrap build 2024-02-04 17:18:53 -07:00
Orion Poplawski 3b15e43e57 Bootstrap 2024-02-04 16:48:17 -07:00
Orion Poplawski e73e0544e8 Rebuild with suitesparse 7.6.0 2024-02-04 11:36:45 -07:00
Fedora Release Engineering 942e1b6a82 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-24 07:41:32 +00:00
Fedora Release Engineering a0e8200510 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-19 15:51:34 +00:00
David Abdurachmanov 94e6715adc
Bootstrap (riscv64)
Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
2024-01-09 11:39:49 +02:00
Antonio Trande d7a51cf628 Rebuild for MUMPS-5.6.2| Disable bootstrap 2024-01-06 11:32:14 +01:00
Antonio Trande 3fa107d2fe Rebuild for MUMPS-5.6.2 2024-01-06 10:41:07 +01:00
Fedora Release Engineering 810ce5d1a7 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-19 16:04:43 +00:00
Fedora Release Engineering 9bc1591a1a Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-19 00:13:54 +00:00
Florian Weimer 2ced3af557 Port configure script to C99
Related to:

  <https://fedoraproject.org/wiki/Changes/PortingToModernC>
  <https://fedoraproject.org/wiki/Toolchain/PortingToModernC>
2023-01-13 07:33:37 +01:00
10 changed files with 189 additions and 134 deletions

View File

@ -1,12 +0,0 @@
diff -up Clp-releases-1.17.5/Clp/src/ClpModel.cpp.orig Clp-releases-1.17.5/Clp/src/ClpModel.cpp
--- Clp-releases-1.17.5/Clp/src/ClpModel.cpp.orig 2020-02-03 06:32:17.000000000 -0700
+++ Clp-releases-1.17.5/Clp/src/ClpModel.cpp 2020-02-20 09:50:46.973499354 -0700
@@ -3720,7 +3720,7 @@ int ClpModel::emptyProblem(int *infeasNu
numberDualInfeasibilities++;
;
sumDualInfeasibilities += fabs(objValue);
- returnCode |= 2;
+ returnCode |= 1;
}
status_[i] = 0;
}

View File

@ -1,19 +1,7 @@
diff -up Clp-releases-1.17.5/Clp/src/ClpModel.cpp.orig Clp-releases-1.17.5/Clp/src/ClpModel.cpp
--- Clp-releases-1.17.5/Clp/src/ClpModel.cpp.orig 2020-02-20 09:50:46.973499354 -0700
+++ Clp-releases-1.17.5/Clp/src/ClpModel.cpp 2020-02-20 09:54:26.138615175 -0700
@@ -2892,7 +2892,7 @@ int ClpModel::readMps(const char *fileNa
int status = 0;
try {
status = m.readMps(fileName, "");
- } catch (CoinError e) {
+ } catch (CoinError& e) {
e.print();
status = -1;
}
diff -up Clp-releases-1.17.5/Clp/src/ClpSolver.cpp.orig Clp-releases-1.17.5/Clp/src/ClpSolver.cpp
--- Clp-releases-1.17.5/Clp/src/ClpSolver.cpp.orig 2020-02-20 09:53:29.722615016 -0700
+++ Clp-releases-1.17.5/Clp/src/ClpSolver.cpp 2020-02-20 09:54:26.139615157 -0700
@@ -1294,7 +1294,7 @@ int ClpMain1(int argc, const char *argv[
diff -up Clp-releases-1.17.9/Clp/src/ClpSolver.cpp.orig Clp-releases-1.17.9/Clp/src/ClpSolver.cpp
--- Clp-releases-1.17.9/Clp/src/ClpSolver.cpp.orig 2023-10-27 06:57:50.869164283 -0600
+++ Clp-releases-1.17.9/Clp/src/ClpSolver.cpp 2023-10-27 06:58:31.230571780 -0600
@@ -1293,7 +1293,7 @@ int ClpMain1(int argc, const char *argv[
}
}
#endif
@ -22,21 +10,9 @@ diff -up Clp-releases-1.17.5/Clp/src/ClpSolver.cpp.orig Clp-releases-1.17.5/Clp/
e.print();
status = -1;
}
diff -up Clp-releases-1.17.5/Clp/src/OsiClp/OsiClpSolverInterface.cpp.orig Clp-releases-1.17.5/Clp/src/OsiClp/OsiClpSolverInterface.cpp
--- Clp-releases-1.17.5/Clp/src/OsiClp/OsiClpSolverInterface.cpp.orig 2020-02-03 06:32:17.000000000 -0700
+++ Clp-releases-1.17.5/Clp/src/OsiClp/OsiClpSolverInterface.cpp 2020-02-20 09:54:26.141615122 -0700
@@ -5790,7 +5790,7 @@ int OsiClpSolverInterface::readLp(const
*m.messagesPointer() = modelPtr_->coinMessages();
try {
m.readLp(filename, epsilon);
- } catch (CoinError e) {
+ } catch (CoinError& e) {
printf("ERROR: %s::%s, %s\n",
e.className().c_str(), e.methodName().c_str(), e.message().c_str());
return -1;
diff -up Clp-releases-1.17.5/Clp/test/OsiClpSolverInterfaceTest.cpp.orig Clp-releases-1.17.5/Clp/test/OsiClpSolverInterfaceTest.cpp
--- Clp-releases-1.17.5/Clp/test/OsiClpSolverInterfaceTest.cpp.orig 2020-02-03 06:32:17.000000000 -0700
+++ Clp-releases-1.17.5/Clp/test/OsiClpSolverInterfaceTest.cpp 2020-02-20 09:54:26.141615122 -0700
diff -up Clp-releases-1.17.9/Clp/test/OsiClpSolverInterfaceTest.cpp.orig Clp-releases-1.17.9/Clp/test/OsiClpSolverInterfaceTest.cpp
--- Clp-releases-1.17.9/Clp/test/OsiClpSolverInterfaceTest.cpp.orig 2023-10-25 09:41:55.000000000 -0600
+++ Clp-releases-1.17.9/Clp/test/OsiClpSolverInterfaceTest.cpp 2023-10-27 06:58:31.232571750 -0600
@@ -143,7 +143,7 @@ OsiClpSolverInterfaceUnitTest(const std:
solver.setObjCoeff(0,0.0);
OSIUNITTEST_ADD_OUTCOME("clp", "setObjCoeff on empty model", "should throw exception", OsiUnitTest::TestOutcome::ERROR, false);

View File

@ -0,0 +1,38 @@
Avoid an implicit function declaration of amd_defaults, cholmod_start.
Without this change, detection results change with compilers which do
not support implicit function declarations. The fake prototypes match
those that autoconf uses.
The source code for all the autoconf macros is not included here, so
patch only the generated shell script.
This was solved upstream via:
commit fea612b2327ad347b6e8aba96ff33e87b98d10fb
Author: Stefan Vigerske <svigerske@gams.com>
Date: Fri Feb 26 06:08:27 2021 +0100
use CHK_LIBHDR macro for amd, cholesky, and (system-)mumps
diff --git a/Clp/configure b/Clp/configure
index bdbfe60f2613c6c5..4d3a4b4f05a30b12 100755
--- a/Clp/configure
+++ b/Clp/configure
@@ -23396,6 +23396,8 @@ cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
+char $fnm (void);
+
int
main ()
{
@@ -23589,6 +23591,8 @@ cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
+char $fnm (void);
+
int
main ()
{

View File

@ -0,0 +1,28 @@
Avoid an implicit function declaration of exit. This is required for
improved C99 compatibility. This was fixed long ago in autoconf,
so there is no need to upstream this patch.
diff --git a/configure b/configure
index 67901384c6ef274c..edec9272070601a3 100755
--- a/configure
+++ b/configure
@@ -2534,7 +2534,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
for ac_declaration in \
- '' \
+ '#include <stdlib.h>' \
'extern "C" void std::exit (int) throw (); using std::exit;' \
'extern "C" void std::exit (int); using std::exit;' \
'extern "C" void exit (int) throw ();' \
@@ -6926,8 +6926,8 @@ main ()
for (i = 0; i < 256; i++)
if (XOR (islower (i), ISLOWER (i))
|| toupper (i) != TOUPPER (i))
- exit(2);
- exit (0);
+ return 2;
+ return 0;
}
_ACEOF
rm -f conftest$ac_exeext

View File

@ -1,7 +1,7 @@
diff -up Clp-releases-1.17.5/Clp/configure.orig Clp-releases-1.17.5/Clp/configure
--- Clp-releases-1.17.5/Clp/configure.orig 2020-02-03 06:32:17.000000000 -0700
+++ Clp-releases-1.17.5/Clp/configure 2020-02-20 09:46:50.382716225 -0700
@@ -32230,7 +32230,7 @@ echo "${ECHO_T}$doxysrcdir (src)" >&6
diff -up Clp-releases-1.17.9/Clp/configure.orig Clp-releases-1.17.9/Clp/configure
--- Clp-releases-1.17.9/Clp/configure.orig 2023-10-25 09:41:55.000000000 -0600
+++ Clp-releases-1.17.9/Clp/configure 2023-10-27 06:55:42.922084151 -0600
@@ -32239,7 +32239,7 @@ echo "${ECHO_T}$doxysrcdir (src)" >&6
fi
# Not built, fall back to installed tag file
if test $doxyfound = no ; then
@ -10,10 +10,10 @@ diff -up Clp-releases-1.17.5/Clp/configure.orig Clp-releases-1.17.5/Clp/configur
# AC_MSG_NOTICE([Considering $doxydir (install)])
# AC_MSG_NOTICE([Subdirs: $coin_subdirs)])
coin_doxy_tagfiles="$coin_doxy_tagfiles $doxydir/$doxytag=$doxydir/html"
diff -up Clp-releases-1.17.5/Clp/Makefile.in.orig Clp-releases-1.17.5/Clp/Makefile.in
--- Clp-releases-1.17.5/Clp/Makefile.in.orig 2020-02-03 06:32:17.000000000 -0700
+++ Clp-releases-1.17.5/Clp/Makefile.in 2020-02-20 09:46:50.398715939 -0700
@@ -421,7 +421,7 @@ EXTRA_DIST = doc/authors.xml doc/basicmo
diff -up Clp-releases-1.17.9/Clp/Makefile.in.orig Clp-releases-1.17.9/Clp/Makefile.in
--- Clp-releases-1.17.9/Clp/Makefile.in.orig 2023-10-25 09:41:55.000000000 -0600
+++ Clp-releases-1.17.9/Clp/Makefile.in 2023-10-27 06:55:42.922084151 -0600
@@ -420,7 +420,7 @@ EXTRA_DIST = doc/authors.xml doc/basicmo
########################################################################
pkgconfiglibdir = $(libdir)/pkgconfig
pkgconfiglib_DATA = clp.pc $(am__append_3)
@ -22,10 +22,10 @@ diff -up Clp-releases-1.17.5/Clp/Makefile.in.orig Clp-releases-1.17.5/Clp/Makefi
########################################################################
# Maintainer Stuff #
@@ -431,7 +431,7 @@ CLEANFILES =
@@ -430,7 +430,7 @@ CLEANFILES =
# Files that are generated and should be cleaned with make distclean
DISTCLEANFILES = $(am__append_5) $(VPATH_DISTCLEANFILES)
DocFiles = README AUTHORS LICENSE
DocFiles = README README.md AUTHORS AUTHORS.md LICENSE LICENSE.md
-DocInstallDir = $(datadir)/coin/doc/$(PACKAGE_NAME)
+DocInstallDir = $(datadir)/doc/coin-or-$(PACKAGE_NAME)
COIN_HAS_DOXYGEN = @COIN_HAS_DOXYGEN_TRUE@TRUE

View File

@ -1,25 +1,25 @@
diff -up Clp-releases-1.17.5/Clp/src/ClpModel.cpp.orig Clp-releases-1.17.5/Clp/src/ClpModel.cpp
--- Clp-releases-1.17.5/Clp/src/ClpModel.cpp.orig 2020-02-20 09:54:26.138615175 -0700
+++ Clp-releases-1.17.5/Clp/src/ClpModel.cpp 2020-02-20 09:56:18.361626298 -0700
@@ -1337,7 +1337,7 @@ void ClpModel::resize(int newNumberRows,
diff -up Clp-releases-1.17.9/Clp/src/ClpModel.cpp.orig Clp-releases-1.17.9/Clp/src/ClpModel.cpp
--- Clp-releases-1.17.9/Clp/src/ClpModel.cpp.orig 2023-10-27 06:58:31.229571794 -0600
+++ Clp-releases-1.17.9/Clp/src/ClpModel.cpp 2023-10-27 07:03:25.664684792 -0600
@@ -1340,7 +1340,7 @@ void ClpModel::resize(int newNumberRows,
if (numberRowNames < newNumberRows) {
rowNames_.resize(newNumberRows);
lengthNames_ = CoinMax(lengthNames_, 8);
- char name[10];
+ char name[12];
+ char name[16];
for (unsigned int iRow = numberRowNames; iRow < newNumberRows; iRow++) {
sprintf(name, "R%7.7d", iRow);
rowNames_[iRow] = name;
@@ -1347,7 +1347,7 @@ void ClpModel::resize(int newNumberRows,
@@ -1350,7 +1350,7 @@ void ClpModel::resize(int newNumberRows,
if (numberColumnNames < newNumberColumns) {
columnNames_.resize(newNumberColumns);
lengthNames_ = CoinMax(lengthNames_, 8);
- char name[10];
+ char name[12];
+ char name[16];
for (unsigned int iColumn = numberColumnNames;
iColumn < newNumberColumns; iColumn++) {
sprintf(name, "C%7.7d", iColumn);
@@ -3445,7 +3445,7 @@ ClpModel::getRowName(int iRow) const
@@ -3453,7 +3453,7 @@ ClpModel::getRowName(int iRow) const
if (size > iRow) {
return rowNames_[iRow];
} else {
@ -28,7 +28,7 @@ diff -up Clp-releases-1.17.5/Clp/src/ClpModel.cpp.orig Clp-releases-1.17.5/Clp/s
sprintf(name, "R%7.7d", iRow);
std::string rowName(name);
return rowName;
@@ -3481,7 +3481,7 @@ ClpModel::getColumnName(int iColumn) con
@@ -3489,7 +3489,7 @@ ClpModel::getColumnName(int iColumn) con
if (size > iColumn) {
return columnNames_[iColumn];
} else {
@ -37,7 +37,7 @@ diff -up Clp-releases-1.17.5/Clp/src/ClpModel.cpp.orig Clp-releases-1.17.5/Clp/s
sprintf(name, "C%7.7d", iColumn);
std::string columnName(name);
return columnName;
@@ -3563,7 +3563,7 @@ void ClpModel::copyRowNames(const char *
@@ -3571,7 +3571,7 @@ void ClpModel::copyRowNames(const char *
maxLength = CoinMax(maxLength, static_cast< unsigned int >(strlen(rowNames[iRow - first])));
} else {
maxLength = CoinMax(maxLength, static_cast< unsigned int >(8));
@ -46,7 +46,7 @@ diff -up Clp-releases-1.17.5/Clp/src/ClpModel.cpp.orig Clp-releases-1.17.5/Clp/s
sprintf(name, "R%7.7d", iRow);
rowNames_[iRow] = name;
}
@@ -3590,7 +3590,7 @@ void ClpModel::copyColumnNames(const cha
@@ -3598,7 +3598,7 @@ void ClpModel::copyColumnNames(const cha
maxLength = CoinMax(maxLength, static_cast< unsigned int >(strlen(columnNames[iColumn - first])));
} else {
maxLength = CoinMax(maxLength, static_cast< unsigned int >(8));
@ -55,7 +55,7 @@ diff -up Clp-releases-1.17.5/Clp/src/ClpModel.cpp.orig Clp-releases-1.17.5/Clp/s
sprintf(name, "C%7.7d", iColumn);
columnNames_[iColumn] = name;
}
@@ -3836,7 +3836,7 @@ ClpModel::rowNamesAsChar() const
@@ -3843,7 +3843,7 @@ ClpModel::rowNamesAsChar() const
if (rowName(iRow) != "") {
rowNames[iRow] = CoinStrdup(rowName(iRow).c_str());
} else {
@ -64,7 +64,7 @@ diff -up Clp-releases-1.17.5/Clp/src/ClpModel.cpp.orig Clp-releases-1.17.5/Clp/s
sprintf(name, "R%7.7d", iRow);
rowNames[iRow] = CoinStrdup(name);
}
@@ -3852,7 +3852,7 @@ ClpModel::rowNamesAsChar() const
@@ -3859,7 +3859,7 @@ ClpModel::rowNamesAsChar() const
xx[n] = '\0';
#endif
}
@ -73,7 +73,7 @@ diff -up Clp-releases-1.17.5/Clp/src/ClpModel.cpp.orig Clp-releases-1.17.5/Clp/s
for (; iRow < numberRows_; iRow++) {
sprintf(name, "R%7.7d", iRow);
rowNames[iRow] = CoinStrdup(name);
@@ -3875,7 +3875,7 @@ ClpModel::columnNamesAsChar() const
@@ -3882,7 +3882,7 @@ ClpModel::columnNamesAsChar() const
if (columnName(iColumn) != "") {
columnNames[iColumn] = CoinStrdup(columnName(iColumn).c_str());
} else {
@ -82,7 +82,7 @@ diff -up Clp-releases-1.17.5/Clp/src/ClpModel.cpp.orig Clp-releases-1.17.5/Clp/s
sprintf(name, "C%7.7d", iColumn);
columnNames[iColumn] = CoinStrdup(name);
}
@@ -3891,7 +3891,7 @@ ClpModel::columnNamesAsChar() const
@@ -3898,7 +3898,7 @@ ClpModel::columnNamesAsChar() const
xx[n] = '\0';
#endif
}
@ -91,10 +91,10 @@ diff -up Clp-releases-1.17.5/Clp/src/ClpModel.cpp.orig Clp-releases-1.17.5/Clp/s
for (; iColumn < numberColumns_; iColumn++) {
sprintf(name, "C%7.7d", iColumn);
columnNames[iColumn] = CoinStrdup(name);
diff -up Clp-releases-1.17.5/Clp/src/ClpSimplexOther.cpp.orig Clp-releases-1.17.5/Clp/src/ClpSimplexOther.cpp
--- Clp-releases-1.17.5/Clp/src/ClpSimplexOther.cpp.orig 2020-02-20 09:55:43.777239225 -0700
+++ Clp-releases-1.17.5/Clp/src/ClpSimplexOther.cpp 2020-02-20 09:56:18.363626263 -0700
@@ -2276,7 +2276,7 @@ int ClpSimplexOther::parametrics(const c
diff -up Clp-releases-1.17.9/Clp/src/ClpSimplexOther.cpp.orig Clp-releases-1.17.9/Clp/src/ClpSimplexOther.cpp
--- Clp-releases-1.17.9/Clp/src/ClpSimplexOther.cpp.orig 2023-10-27 07:01:11.067416496 -0600
+++ Clp-releases-1.17.9/Clp/src/ClpSimplexOther.cpp 2023-10-27 07:03:25.666684769 -0600
@@ -2284,7 +2284,7 @@ int ClpSimplexOther::parametrics(const c
{
int returnCode = -2;
FILE *fp = fopen(dataFile, "r");

View File

@ -1,25 +1,25 @@
diff -up Clp-releases-1.17.5/Clp/src/ClpModel.cpp.orig Clp-releases-1.17.5/Clp/src/ClpModel.cpp
--- Clp-releases-1.17.5/Clp/src/ClpModel.cpp.orig 2020-02-20 09:56:18.361626298 -0700
+++ Clp-releases-1.17.5/Clp/src/ClpModel.cpp 2020-02-20 09:56:58.777910020 -0700
@@ -1338,7 +1338,7 @@ void ClpModel::resize(int newNumberRows,
diff -up Clp-releases-1.17.9/Clp/src/ClpModel.cpp.orig Clp-releases-1.17.9/Clp/src/ClpModel.cpp
--- Clp-releases-1.17.9/Clp/src/ClpModel.cpp.orig 2023-10-27 07:03:25.664684792 -0600
+++ Clp-releases-1.17.9/Clp/src/ClpModel.cpp 2023-10-27 07:03:58.104302324 -0600
@@ -1341,7 +1341,7 @@ void ClpModel::resize(int newNumberRows,
rowNames_.resize(newNumberRows);
lengthNames_ = CoinMax(lengthNames_, 8);
char name[12];
char name[16];
- for (unsigned int iRow = numberRowNames; iRow < newNumberRows; iRow++) {
+ for (int iRow = numberRowNames; iRow < newNumberRows; iRow++) {
sprintf(name, "R%7.7d", iRow);
rowNames_[iRow] = name;
}
@@ -1348,7 +1348,7 @@ void ClpModel::resize(int newNumberRows,
@@ -1351,7 +1351,7 @@ void ClpModel::resize(int newNumberRows,
columnNames_.resize(newNumberColumns);
lengthNames_ = CoinMax(lengthNames_, 8);
char name[12];
char name[16];
- for (unsigned int iColumn = numberColumnNames;
+ for (int iColumn = numberColumnNames;
iColumn < newNumberColumns; iColumn++) {
sprintf(name, "C%7.7d", iColumn);
columnNames_[iColumn] = name;
@@ -3556,7 +3556,7 @@ void ClpModel::copyRowNames(const char *
@@ -3564,7 +3564,7 @@ void ClpModel::copyRowNames(const char *
int size = static_cast< int >(rowNames_.size());
if (size != numberRows_)
rowNames_.resize(numberRows_);
@ -28,7 +28,7 @@ diff -up Clp-releases-1.17.5/Clp/src/ClpModel.cpp.orig Clp-releases-1.17.5/Clp/s
for (iRow = first; iRow < last; iRow++) {
if (rowNames && rowNames[iRow - first] && strlen(rowNames[iRow - first])) {
rowNames_[iRow] = rowNames[iRow - first];
@@ -3583,7 +3583,7 @@ void ClpModel::copyColumnNames(const cha
@@ -3591,7 +3591,7 @@ void ClpModel::copyColumnNames(const cha
int size = static_cast< int >(columnNames_.size());
if (size != numberColumns_)
columnNames_.resize(numberColumns_);
@ -37,7 +37,7 @@ diff -up Clp-releases-1.17.5/Clp/src/ClpModel.cpp.orig Clp-releases-1.17.5/Clp/s
for (iColumn = first; iColumn < last; iColumn++) {
if (columnNames && columnNames[iColumn - first] && strlen(columnNames[iColumn - first])) {
columnNames_[iColumn] = columnNames[iColumn - first];
@@ -3831,7 +3831,7 @@ ClpModel::rowNamesAsChar() const
@@ -3838,7 +3838,7 @@ ClpModel::rowNamesAsChar() const
rowNames = new char *[numberRows_ + 1];
int numberNames = static_cast< int >(rowNames_.size());
numberNames = CoinMin(numberRows_, numberNames);
@ -46,7 +46,7 @@ diff -up Clp-releases-1.17.5/Clp/src/ClpModel.cpp.orig Clp-releases-1.17.5/Clp/s
for (iRow = 0; iRow < numberNames; iRow++) {
if (rowName(iRow) != "") {
rowNames[iRow] = CoinStrdup(rowName(iRow).c_str());
@@ -3870,7 +3870,7 @@ ClpModel::columnNamesAsChar() const
@@ -3877,7 +3877,7 @@ ClpModel::columnNamesAsChar() const
columnNames = new char *[numberColumns_];
int numberNames = static_cast< int >(columnNames_.size());
numberNames = CoinMin(numberColumns_, numberNames);
@ -55,10 +55,10 @@ diff -up Clp-releases-1.17.5/Clp/src/ClpModel.cpp.orig Clp-releases-1.17.5/Clp/s
for (iColumn = 0; iColumn < numberNames; iColumn++) {
if (columnName(iColumn) != "") {
columnNames[iColumn] = CoinStrdup(columnName(iColumn).c_str());
diff -up Clp-releases-1.17.5/Clp/src/ClpSolver.cpp.orig Clp-releases-1.17.5/Clp/src/ClpSolver.cpp
--- Clp-releases-1.17.5/Clp/src/ClpSolver.cpp.orig 2020-02-20 09:54:26.139615157 -0700
+++ Clp-releases-1.17.5/Clp/src/ClpSolver.cpp 2020-02-20 09:56:58.777910020 -0700
@@ -3799,9 +3799,9 @@ static void statistics(ClpSimplex *origi
diff -up Clp-releases-1.17.9/Clp/src/ClpSolver.cpp.orig Clp-releases-1.17.9/Clp/src/ClpSolver.cpp
--- Clp-releases-1.17.9/Clp/src/ClpSolver.cpp.orig 2023-10-27 06:58:31.230571780 -0600
+++ Clp-releases-1.17.9/Clp/src/ClpSolver.cpp 2023-10-27 07:03:58.105302312 -0600
@@ -3798,9 +3798,9 @@ static void statistics(ClpSimplex *origi
numberWritten = fwrite(stats, sizeof(int), 3, fpBlocks);
assert(numberWritten == 3);
numberWritten = fwrite(blockStart, sizeof(int), numberRows, fpBlocks);

View File

@ -1,15 +0,0 @@
diff -up Clp-releases-1.17.5/Clp/src/ClpSimplexOther.cpp.orig Clp-releases-1.17.5/Clp/src/ClpSimplexOther.cpp
--- Clp-releases-1.17.5/Clp/src/ClpSimplexOther.cpp.orig 2020-02-03 06:32:17.000000000 -0700
+++ Clp-releases-1.17.5/Clp/src/ClpSimplexOther.cpp 2020-02-20 09:55:43.777239225 -0700
@@ -2360,9 +2360,9 @@ int ClpSimplexOther::parametrics(const c
if (intervalTheta >= endTheta)
intervalTheta = 0.0;
if (!good) {
- sprintf(line, "Odd first line %s on file %s?", line, dataFile);
handler_->message(CLP_GENERAL, messages_)
- << line << CoinMessageEol;
+ << "Odd first line " << line << " on file " << dataFile << "?"
+ << CoinMessageEol;
fclose(fp);
return -2;
}

View File

@ -1,15 +1,28 @@
%global module Clp
# Avoid circular dependencies on first build
%bcond_with bootstrap
# On a bootstrap build, without coin-or-Cbc in the buildroot, a number of
# parameters are not defined. This leads to invalid vector accesses later
# when we build packages that depend on coin-or-Cbc (such as coin-or-CoinMP).
# We first build coin-or-Clp in bootstrap mode, then build coin-or-Cgl,
# followed by coin-or-Cbc. At that point we can rebuild this package in
# non-bootstrap mode to get the Cbc parameter definitions.
#
# Attempting to cheat by defining COIN_HAS_CBC while building this package
# just leads to other compiler errors due to missing coin-or-Cbc headers.
# As painful as it is, this really is the best approach.
%bcond bootstrap 1
Name: coin-or-%{module}
Summary: Coin-or linear programming
Version: 1.17.6
Release: 10%{?dist}
License: EPL-1.0
Version: 1.17.9
Release: 1.0.riscv64%{?dist}
# The project as a whole is licensed EPL-2.0. However, many source files still
# claim to be licensed EPL-1.0. This is probably an upstream oversight.
License: EPL-2.0 AND EPL-1.0
URL: https://github.com/coin-or/%{module}
Source0: %{url}/archive/releases/%{version}/%{module}-%{version}.tar.gz
BuildRequires: asl-devel
BuildRequires: coin-or-Data-Netlib
BuildRequires: coin-or-Osi-doc
BuildRequires: gcc-c++
@ -35,17 +48,17 @@ Patch2: %{name}-param.patch
# Catch polymorphic errors by reference rathern than by value
Patch3: %{name}-catch.patch
# Fix a bad sprintf that overwrites its own output
Patch4: %{name}-sprintf.patch
# Increase buffer sizes to avoid sprintf overflow
Patch5: %{name}-overflow.patch
Patch4: %{name}-overflow.patch
# Fix mixed signed-unsigned comparisons
Patch6: %{name}-signed.patch
Patch5: %{name}-signed.patch
# Do not use the AVX2 instructions
Patch7: %{name}-no-avx.patch
Patch6: %{name}-no-avx.patch
Patch7: coin-or-Clp-configure-c99.patch
Patch8: coin-or-Clp-configure-amd_defaults-c99.patch
%description
Clp (Coin-or linear programming) is an open-source linear programming
@ -75,25 +88,23 @@ BuildArch: noarch
This package contains the documentation for %{name}.
%prep
%setup -q -n %{module}-releases-%{version}
%patch0 -p1
%patch1 -p1
%if %{without bootstrap}
%patch2 -p1
%endif
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%autosetup -p1 -n %{module}-releases-%{version}
# The pkgconfig file lists transitive dependencies. Those are necessary when
# using static libraries, but not with shared libraries.
sed -i 's/ @CLPLIB_PCLIBS@/\nLibs.private:&/' Clp/clp.pc.in
%build
# Make sure Cbc parameters are initialized too
export CPPFLAGS='-DNDEBUG -DCOIN_HAS_NTY'
%if %{without bootstrap}
export CPPFLAGS="-DCOIN_HAS_CBC -DCOIN_HAS_NTY -I$PWD/src/OsiClp"
export CPPFLAGS="$CPPFLAGS -DCOIN_HAS_CBC -DCBC_THREAD -I$PWD/src/OsiClp"
%endif
%configure \
--with-amd-incdir=%{_includedir}/suitesparse \
--with-amd-lib=-lamd \
--with-asl-incdir=%{_includedir}/asl \
--with-asl-lib=-lasl \
--with-cholmod-incdir=%{_includedir}/suitesparse \
--with-cholmod-lib=-lcholmod \
--with-glpk_incdir=%{_includedir} \
@ -117,22 +128,16 @@ sed -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' \
%make_install
rm -f %{buildroot}%{_libdir}/*.la
rm -f %{buildroot}%{_docdir}/%{name}/{LICENSE,clp_addlibs.txt}
cp -a doxydoc/{html,*.tag} %{buildroot}%{_docdir}/%{name}
# The pkgconfig file lists transitive dependencies. Those are necessary when
# using static libraries, but not with shared libraries.
sed -i 's/ -ldmumps.*//' %{buildroot}%{_libdir}/pkgconfig/clp.pc
cp -a README.md doxydoc/{html,*.tag} %{buildroot}%{_docdir}/%{name}
%check
LD_LIBRARY_PATH=%{buildroot}%{_libdir} make test
%ldconfig_scriptlets
%files
%license LICENSE
%dir %{_docdir}/%{name}
%{_docdir}/%{name}/AUTHORS
%{_docdir}/%{name}/README
%{_docdir}/%{name}/README.md
%{_bindir}/clp
%{_libdir}/libClp.so.1
%{_libdir}/libClp.so.1.*
@ -154,6 +159,41 @@ LD_LIBRARY_PATH=%{buildroot}%{_libdir} make test
%{_docdir}/%{name}/clp_doxy.tag
%changelog
* Wed Mar 6 2024 David Abdurachmanov <davidlt@rivosinc.com> - 1.17.9-1.0.riscv64
- Bootstrap (riscv64)
* Mon Feb 5 2024 Jerry James <loganjerry@gmail.com> - 1.17.9-1
- Version 1.17.9
- Update License from EPL-1.0 to EPL-2.0 AND EPL-1.0
- Verify the license is valid SPDX
- BR asl-devel
- Drop upstreamed badcolumn and sprintf patches
- Remove transitive dependencies from the pkgconfig file
* Sun Feb 04 2024 Orion Poplawski <orion@nwra.com> - 1.17.6-18
- Rebuild with suitesparse 7.6.0
* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.17.6-17
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.17.6-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sat Jan 06 2024 Antonio Trande <sagitter@fedoraproject.org> - 1.17.6-15
- Rebuild for MUMPS-5.6.2 (disable bootstrap)
* Sat Jan 06 2024 Antonio Trande <sagitter@fedoraproject.org> - 1.17.6-14
- Rebuild for MUMPS-5.6.2
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.17.6-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.17.6-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Fri Jan 13 2023 Florian Weimer <fweimer@redhat.com> - 1.17.6-11
- Port configure script to C99
* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.17.6-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild

View File

@ -1 +1 @@
SHA512 (Clp-1.17.6.tar.gz) = 8a799d87ba988a27e3ba526ded65425979b4364e374db4e943f41a523f3743efb88a9964eb575c058151e47f58be6ba0ac1b368177f0322850be3704be6f24d1
SHA512 (Clp-1.17.9.tar.gz) = addd41c12e90c7d6ed2c3a7133f64a848255a00dcda1a996ccff5415f42fb9a16d9b9e429d7928020dc90cad0266cf58a1a269fc0ed87ccfecc5eb4173376a0a