mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-23 16:49:10 -07:00
sci-mathematics/gfan: gcc-15 buildfix revision
Closes: https://bugs.gentoo.org/937329 Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
This commit is contained in:
22
sci-mathematics/gfan/files/gfan-0.6.2-gcc15.patch
Normal file
22
sci-mathematics/gfan/files/gfan-0.6.2-gcc15.patch
Normal file
@@ -0,0 +1,22 @@
|
||||
https://github.com/Singular/Singular/commit/d3f73432d73ac0dd041
|
||||
|
||||
diff --git a/src/gfanlib_matrix.h b/src/gfanlib_matrix.h
|
||||
index 418fa4c..27818b2 100644
|
||||
--- a/src/gfanlib_matrix.h
|
||||
+++ b/src/gfanlib_matrix.h
|
||||
@@ -115,6 +115,7 @@ public:
|
||||
p[i][j]=s*(q[i][j]);
|
||||
return p;
|
||||
}
|
||||
+ /*
|
||||
friend Matrix operator*(const Matrix& a, const Matrix& b)
|
||||
{
|
||||
assert(a.width==b.height);
|
||||
@@ -123,6 +124,7 @@ public:
|
||||
ret[i]=a.vectormultiply(b.column(i));
|
||||
return ret.transposed();
|
||||
}
|
||||
+ */
|
||||
/* template<class T>
|
||||
Matrix<T>(const Matrix<T>& c):v(c.size()){
|
||||
for(int i=0;i<size();i++)v[i]=typ(c[i]);}
|
||||
86
sci-mathematics/gfan/gfan-0.6.2-r7.ebuild
Normal file
86
sci-mathematics/gfan/gfan-0.6.2-r7.ebuild
Normal file
@@ -0,0 +1,86 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit flag-o-matic toolchain-funcs
|
||||
|
||||
DESCRIPTION="Compute Groebner fans and tropical varieties"
|
||||
HOMEPAGE="https://users-math.au.dk/~jensen/software/gfan/gfan.html"
|
||||
SRC_URI="https://users-math.au.dk/~jensen/software/${PN}/${PN}${PV}.tar.gz"
|
||||
|
||||
S="${WORKDIR}/${PN}${PV}"
|
||||
|
||||
LICENSE="GPL-2+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~riscv ~x86 ~amd64-linux ~x86-linux"
|
||||
IUSE="doc"
|
||||
|
||||
# texlive-plaingeneric is needed for \usepackage{ulem} in
|
||||
# the manual. ghostscript-gpl provides the "dvipdf" command.
|
||||
BDEPEND="doc? (
|
||||
app-text/ghostscript-gpl
|
||||
dev-texlive/texlive-plaingeneric
|
||||
virtual/latex-base
|
||||
)"
|
||||
DEPEND="dev-libs/gmp:0=[cxx(+)]
|
||||
sci-libs/cddlib:0="
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PN}-0.6.2-testsuite.patch"
|
||||
"${FILESDIR}/${PN}-0.6.2-Makefile.patch"
|
||||
"${FILESDIR}/${PN}-0.6.2-fix-0602ResultantFanProjection.patch"
|
||||
"${FILESDIR}/${PN}-0.6.2-fix-spelling-errors.patch"
|
||||
"${FILESDIR}/${PN}-0.6.2-find-name.patch"
|
||||
"${FILESDIR}/${PN}-0.6.2-glibcxx-assertions.patch"
|
||||
"${FILESDIR}/${PN}-0.6.2-gcc15.patch"
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
tc-export CC CXX
|
||||
|
||||
# This should really go in cppflags, but that doesn't work with
|
||||
# gfan's hand-written Makefile.
|
||||
append-cxxflags -DNOCDDPREFIX -I"${EPREFIX}"/usr/include/cddlib
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# And this one fails (harmlessly) on x86, bug 818397.
|
||||
rm -r testsuite/0009RenderStairCase || \
|
||||
die "unable to disable test 0009RenderStairCase"
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# -Werror=odr
|
||||
# https://bugs.gentoo.org/863044
|
||||
# Only contact method is email. I have sent one detailing the issue.
|
||||
filter-lto
|
||||
|
||||
# The upstream Makefile says that GCC produces bad code with -O3.
|
||||
replace-flags "-O3" "-O2"
|
||||
default
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
default
|
||||
if use doc; then
|
||||
pushd doc > /dev/null || die
|
||||
# The LaTeX build commands need to be repeated until the
|
||||
# document "stops changing," which is not as easy as it
|
||||
# sounds to detect. Running it twice seems to work here.
|
||||
for iteration in 1 2; do
|
||||
latex manual.tex && \
|
||||
bibtex manual && \
|
||||
dvipdf manual.dvi manual.pdf || die
|
||||
done
|
||||
popd > /dev/null || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake PREFIX="${ED}/usr" install
|
||||
use doc && dodoc doc/manual.pdf
|
||||
}
|
||||
Reference in New Issue
Block a user