mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
sci-mathematics/polymake: treeclean
Closes: https://bugs.gentoo.org/909570 Closes: https://bugs.gentoo.org/883153 Signed-off-by: Jakov Smolić <jsmolic@gentoo.org>
This commit is contained in:
@@ -86,10 +86,6 @@ net-misc/plowshare javascript
|
||||
# https://www.boost.org/doc/libs/1_78_0/libs/context/doc/html/context/architectures.html
|
||||
dev-libs/boost -context
|
||||
|
||||
# Sam James <sam@gentoo.org> (2021-12-31)
|
||||
# sci-mathematics/polymake not keyworded here
|
||||
sci-mathematics/singular polymake
|
||||
|
||||
# Sam James <sam@gentoo.org> (2021-12-08)
|
||||
# Masks involving webkit-gtk; webkit-gtk was dekeyworded on ppc for a while.
|
||||
# We haven't (yet?) restored keywords for all the bits we had to drop, so
|
||||
|
||||
@@ -65,14 +65,6 @@ net-misc/seafile-client shibboleth
|
||||
sci-mathematics/yacas gui
|
||||
sci-physics/root qt5
|
||||
|
||||
# Michael Orlitzky <mjo@gentoo.org> (2022-12-23)
|
||||
# sci-libs/lrslib is keyworded ~x86, but probably shouldn't have been:
|
||||
#
|
||||
# https://bugs.gentoo.org/771675
|
||||
#
|
||||
# Here we prevent its only direct consumer from pulling it in.
|
||||
sci-mathematics/polymake lrs
|
||||
|
||||
# Michał Górny <mgorny@gentoo.org> (2022-11-16)
|
||||
# spirv-llvm-translator is not keyworded x86.
|
||||
dev-libs/libclc spirv
|
||||
|
||||
@@ -259,11 +259,6 @@ dev-ruby/state_machine
|
||||
# 2015. No reverse dependencies. Masked for removal on 2023-09-26.
|
||||
dev-ruby/totoridipjp
|
||||
|
||||
# Michael Orlitzky <mjo@gentoo.org> (2023-08-23)
|
||||
# Incompatible with perl-5.38 and no fix forthcoming (bug 909570).
|
||||
# Removal sometime after 2023-09-23.
|
||||
sci-mathematics/polymake
|
||||
|
||||
# Sam James <sam@gentoo.org> (2023-08-18)
|
||||
# Masked for testing.
|
||||
=sys-libs/zlib-1.3-r1
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
DIST polymake-4.6-minimal.tar.bz2 5634651 BLAKE2B 6ee24fa6e70fdf746ea298d78e21e17fe38c5837ae2d3153e53656b4b003555b06897f463220b59474eed1111135dfa61c080d08d6363391afca51011f331122 SHA512 90f04c67bf297fb1b9f5a51d1654ff12385860b1fc80278a8b47f65970f11a1e0f33ede8a839b54a12422e772c8b76302ff78cc467712a2486f6e76ce0d5ab20
|
||||
DIST polymake-4.9-minimal.tar.bz2 7287220 BLAKE2B 4a40c3177bc146c16ae7924c2911bd96a26e7eec82963dba1293db272e60a6efea59bd27575951ecbe343862c1c28ecf1f2eb5c2bd1b9b09ef475a7ef44a6b95 SHA512 5c762a59b135dbb1bbcff9a0133a17c20529dc14a5af19efc2afbc1ae773ea3834ccc6b97db130ec91d9cd7a3a20988360b1d844f70272724794ac81ab42658f
|
||||
@@ -1,15 +0,0 @@
|
||||
diff -up lib/core/src/perl/RefHash.xxs.orig lib/core/src/perl/RefHash.xxs
|
||||
--- a/lib/core/src/perl/RefHash.xxs 2022-06-06 10:35:17.689807548 +0200
|
||||
+++ b/lib/core/src/perl/RefHash.xxs 2022-06-06 10:37:12.935663947 +0200
|
||||
@@ -71,7 +71,11 @@ SV* tmp_keysv::set(SV* keysv)
|
||||
Copy(obj.keyp, HEK_KEY(hekp), sizeof(SV*), char);
|
||||
HEK_LEN(hekp) = sizeof(SV*);
|
||||
HEK_HASH(hekp) = U32(obj.keyl >> 4); // hash value
|
||||
+#if PerlVersion < 5360
|
||||
HEK_FLAGS(hekp) = HVhek_UNSHARED;
|
||||
+#else
|
||||
+ HEK_FLAGS(hekp) = HVhek_NOTSHARED;
|
||||
+#endif
|
||||
sv.sv_any = &xpv;
|
||||
sv.sv_refcnt = 1;
|
||||
sv.sv_flags = SVt_PVIV | SVf_IVisUV | SVf_POK | SVp_POK | PmFlagsForHashKey;
|
||||
@@ -1,55 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>sci-mathematics@gentoo.org</email>
|
||||
<name>Gentoo Mathematics Project</name>
|
||||
</maintainer>
|
||||
<use>
|
||||
<flag name="bliss">
|
||||
Enable <pkg>sci-libs/bliss</pkg> interface for graph and face lattice
|
||||
isomorphism computations.
|
||||
</flag>
|
||||
<flag name="cdd">
|
||||
Enable <pkg>sci-libs/cddlib</pkg> interface for convex hull
|
||||
computations (Should be kept enabled).
|
||||
</flag>
|
||||
<flag name="flint">
|
||||
Build with "strongly recommended" support for
|
||||
<pkg>sci-mathematics/flint</pkg>.
|
||||
</flag>
|
||||
<flag name="libpolymake">
|
||||
Build the polymake library to build applications using the C++
|
||||
interface.
|
||||
</flag>
|
||||
<flag name="lrs">
|
||||
Enable <pkg>sci-libs/lrslib</pkg> interface for convex hull
|
||||
computations.
|
||||
</flag>
|
||||
<flag name="nauty">
|
||||
Build the extension for graph automorphism computations using
|
||||
<pkg>sci-mathematics/nauty</pkg>.
|
||||
</flag>
|
||||
<flag name="normaliz">
|
||||
Build the bundled extension for lattice computations using
|
||||
<pkg>sci-mathematics/normaliz</pkg>.
|
||||
</flag>
|
||||
<flag name="ppl">
|
||||
Enable <pkg>dev-libs/ppl</pkg> interface for convex hull computations.
|
||||
</flag>
|
||||
<flag name="singular">
|
||||
Enable the interface to <pkg>sci-mathematics/singular</pkg> for
|
||||
ideal related computations.
|
||||
</flag>
|
||||
</use>
|
||||
<longdescription lang="en">
|
||||
Polymake is open source software for research in polyhedral
|
||||
geometry. It deals with polytopes, polyhedra, and fans as well as
|
||||
simplicial complexes, matroids, graphs, tropical hypersurfaces, and
|
||||
other objects. Supported platforms include various flavors of Linux,
|
||||
FreeBSD, and Mac OS.
|
||||
</longdescription>
|
||||
<upstream>
|
||||
<remote-id type="github">polymake/polymake</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
@@ -1,124 +0,0 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit flag-o-matic ninja-utils toolchain-funcs
|
||||
|
||||
DESCRIPTION="Tool for polyhedral geometry and combinatorics"
|
||||
SRC_URI="https://polymake.org/lib/exe/fetch.php/download/${P}-minimal.tar.bz2"
|
||||
HOMEPAGE="https://polymake.org/"
|
||||
|
||||
# polymake itself is GPL-2, but even the minimal tarball bundles a lot
|
||||
# of other code. I've included everything that turns up with a
|
||||
#
|
||||
# find ./ -name 'LICENSE' -o -name 'COPYING'
|
||||
#
|
||||
# in the list below. If any of these bother you, you may want to take a
|
||||
# closer look at how (or even if) the corresponding code is being used.
|
||||
LICENSE="BSD GPL-2 GPL-2+ MIT WTFPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ~riscv ~x86 ~amd64-linux ~x86-linux"
|
||||
IUSE="bliss +cdd +flint +normaliz libpolymake lrs nauty ppl singular"
|
||||
|
||||
REQUIRED_USE="^^ ( bliss nauty )"
|
||||
|
||||
# The "configure" script isn't autotools; it basically exists just to
|
||||
# exec some other perl script but using the familiar name.
|
||||
BDEPEND="dev-util/ninja
|
||||
dev-lang/perl"
|
||||
|
||||
DEPEND="
|
||||
libpolymake? ( dev-lang/perl )
|
||||
dev-libs/boost:=
|
||||
dev-libs/gmp:=
|
||||
dev-libs/libxml2:2=
|
||||
dev-libs/libxslt:=
|
||||
dev-libs/mpfr:=
|
||||
sys-libs/readline:=
|
||||
bliss? ( sci-libs/bliss:=[gmp] )
|
||||
cdd? ( sci-libs/cddlib:= )
|
||||
flint? ( sci-mathematics/flint:= )
|
||||
lrs? ( >=sci-libs/lrslib-051:=[gmp] )
|
||||
nauty? ( sci-mathematics/nauty:= )
|
||||
normaliz? ( >=sci-mathematics/normaliz-3.8:= )
|
||||
ppl? ( dev-libs/ppl:= )
|
||||
singular? ( sci-mathematics/singular:= )"
|
||||
|
||||
RDEPEND="${DEPEND}
|
||||
dev-lang/perl
|
||||
dev-perl/JSON
|
||||
dev-perl/Term-ReadLine-Gnu
|
||||
dev-perl/TermReadKey
|
||||
dev-perl/XML-SAX
|
||||
dev-perl/XML-Writer"
|
||||
|
||||
# Tests observed failing after upgrade to polymake-4.5. No idea if they
|
||||
# worked prior to that. Someone who actually understands polymake will
|
||||
# have to get these working (at least briefly) before we re-enable them.
|
||||
RESTRICT=test
|
||||
|
||||
PATCHES=( "${FILESDIR}/${P}-perl-5.36.patch" )
|
||||
|
||||
src_configure() {
|
||||
# Without this, the build system tries to use "the highest possible"
|
||||
# optimization level and will override what's in your CXXFLAGS.
|
||||
export CXXOPT=""
|
||||
|
||||
tc-export CC CXX
|
||||
|
||||
# We need to define BLISS_USE_GMP if bliss was built with gmp support.
|
||||
# Therefore we require gmp support on bliss, so that the package
|
||||
# manager can prevent rebuilds with changed gmp flag. Yes, this should
|
||||
# be append-cppflags; but the build system doesn't respect CPPFLAGS.
|
||||
use bliss && append-cxxflags -DBLISS_USE_GMP
|
||||
|
||||
# This isn't an autotools ./configure script, so a lot of things
|
||||
# don't work the way you'd expect. We disable openmp unconditionally
|
||||
# because it's only supposedly only used for building the bundled
|
||||
# libnormaliz (we unbundle it) and for something called to_simplex
|
||||
# that I can't find anywhere in the polymake source.
|
||||
./configure --prefix="${EPREFIX}/usr" \
|
||||
--libdir="${EPREFIX}/usr/$(get_libdir)" \
|
||||
--libexecdir="${EPREFIX}/usr/$(get_libdir)/polymake" \
|
||||
$(usev !libpolymake "--without-callable") \
|
||||
--without-java \
|
||||
--without-javaview \
|
||||
--without-native \
|
||||
--without-scip \
|
||||
--without-soplex \
|
||||
--without-openmp \
|
||||
$(use_with bliss bliss "${EPREFIX}/usr") \
|
||||
$(use_with cdd cdd "${EPREFIX}/usr") \
|
||||
$(use_with flint flint "${EPREFIX}/usr") \
|
||||
$(use_with lrs lrs "${EPREFIX}/usr") \
|
||||
$(use_with nauty nauty "${EPREFIX}/usr") \
|
||||
$(use_with normaliz libnormaliz "${EPREFIX}/usr") \
|
||||
$(use_with ppl ppl "${EPREFIX}/usr") \
|
||||
$(use_with singular singular "${EPREFIX}/usr") \
|
||||
|| die
|
||||
}
|
||||
|
||||
# There is a backwards-compatible Makefile that would call ninja for us
|
||||
# in src_compile/src_install, but it doesn't handle MAKEOPTS correctly.
|
||||
src_compile() {
|
||||
eninja -C build/Opt
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# DESTDIR needs to find its way into the real install script,
|
||||
# support/install.pl.
|
||||
export DESTDIR="${D}"
|
||||
eninja -C build/Opt install
|
||||
}
|
||||
|
||||
src_test() {
|
||||
perl/polymake --script run_testcases --emacs-style \
|
||||
|| die "test suite failed"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "Additional features for polymake are available through external"
|
||||
elog "software such as sci-mathematics/4ti2 and sci-mathematics/topcom."
|
||||
elog "After installing new external software run 'polymake --reconfigure'."
|
||||
}
|
||||
@@ -1,122 +0,0 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit flag-o-matic ninja-utils toolchain-funcs
|
||||
|
||||
DESCRIPTION="Tool for polyhedral geometry and combinatorics"
|
||||
SRC_URI="https://polymake.org/lib/exe/fetch.php/download/${P}-minimal.tar.bz2"
|
||||
HOMEPAGE="https://polymake.org/"
|
||||
|
||||
# polymake itself is GPL-2, but even the minimal tarball bundles a lot
|
||||
# of other code. I've included everything that turns up with a
|
||||
#
|
||||
# find ./ -name 'LICENSE' -o -name 'COPYING'
|
||||
#
|
||||
# in the list below. If any of these bother you, you may want to take a
|
||||
# closer look at how (or even if) the corresponding code is being used.
|
||||
LICENSE="BSD GPL-2 GPL-2+ MIT WTFPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~riscv ~x86 ~amd64-linux ~x86-linux"
|
||||
IUSE="bliss +cdd +flint +normaliz libpolymake lrs nauty ppl singular"
|
||||
|
||||
REQUIRED_USE="^^ ( bliss nauty )"
|
||||
|
||||
# The "configure" script isn't autotools; it basically exists just to
|
||||
# exec some other perl script but using the familiar name.
|
||||
BDEPEND="dev-util/ninja
|
||||
dev-lang/perl"
|
||||
|
||||
DEPEND="
|
||||
libpolymake? ( dev-lang/perl )
|
||||
dev-libs/boost:=
|
||||
dev-libs/gmp:=
|
||||
dev-libs/libxml2:2=
|
||||
dev-libs/libxslt:=
|
||||
dev-libs/mpfr:=
|
||||
sys-libs/readline:=
|
||||
bliss? ( sci-libs/bliss:=[gmp] )
|
||||
cdd? ( sci-libs/cddlib:= )
|
||||
flint? ( sci-mathematics/flint:= )
|
||||
lrs? ( >=sci-libs/lrslib-051:=[gmp] )
|
||||
nauty? ( sci-mathematics/nauty:= )
|
||||
normaliz? ( >=sci-mathematics/normaliz-3.8:= )
|
||||
ppl? ( dev-libs/ppl:= )
|
||||
singular? ( sci-mathematics/singular:= )"
|
||||
|
||||
RDEPEND="${DEPEND}
|
||||
dev-lang/perl
|
||||
dev-perl/JSON
|
||||
dev-perl/Term-ReadLine-Gnu
|
||||
dev-perl/TermReadKey
|
||||
dev-perl/XML-SAX
|
||||
dev-perl/XML-Writer"
|
||||
|
||||
# Tests observed failing after upgrade to polymake-4.5. No idea if they
|
||||
# worked prior to that. Someone who actually understands polymake will
|
||||
# have to get these working (at least briefly) before we re-enable them.
|
||||
RESTRICT=test
|
||||
|
||||
src_configure() {
|
||||
# Without this, the build system tries to use "the highest possible"
|
||||
# optimization level and will override what's in your CXXFLAGS.
|
||||
export CXXOPT=""
|
||||
|
||||
tc-export CC CXX
|
||||
|
||||
# We need to define BLISS_USE_GMP if bliss was built with gmp support.
|
||||
# Therefore we require gmp support on bliss, so that the package
|
||||
# manager can prevent rebuilds with changed gmp flag. Yes, this should
|
||||
# be append-cppflags; but the build system doesn't respect CPPFLAGS.
|
||||
use bliss && append-cxxflags -DBLISS_USE_GMP
|
||||
|
||||
# This isn't an autotools ./configure script, so a lot of things
|
||||
# don't work the way you'd expect. We disable openmp unconditionally
|
||||
# because it's only supposedly only used for building the bundled
|
||||
# libnormaliz (we unbundle it) and for something called to_simplex
|
||||
# that I can't find anywhere in the polymake source.
|
||||
./configure --prefix="${EPREFIX}/usr" \
|
||||
--libdir="${EPREFIX}/usr/$(get_libdir)" \
|
||||
--libexecdir="${EPREFIX}/usr/$(get_libdir)/polymake" \
|
||||
$(usev !libpolymake "--without-callable") \
|
||||
--without-java \
|
||||
--without-javaview \
|
||||
--without-native \
|
||||
--without-scip \
|
||||
--without-soplex \
|
||||
--without-openmp \
|
||||
$(use_with bliss bliss "${EPREFIX}/usr") \
|
||||
$(use_with cdd cdd "${EPREFIX}/usr") \
|
||||
$(use_with flint flint "${EPREFIX}/usr") \
|
||||
$(use_with lrs lrs "${EPREFIX}/usr") \
|
||||
$(use_with nauty nauty "${EPREFIX}/usr") \
|
||||
$(use_with normaliz libnormaliz "${EPREFIX}/usr") \
|
||||
$(use_with ppl ppl "${EPREFIX}/usr") \
|
||||
$(use_with singular singular "${EPREFIX}/usr") \
|
||||
|| die
|
||||
}
|
||||
|
||||
# There is a backwards-compatible Makefile that would call ninja for us
|
||||
# in src_compile/src_install, but it doesn't handle MAKEOPTS correctly.
|
||||
src_compile() {
|
||||
eninja -C build/Opt
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# DESTDIR needs to find its way into the real install script,
|
||||
# support/install.pl.
|
||||
export DESTDIR="${D}"
|
||||
eninja -C build/Opt install
|
||||
}
|
||||
|
||||
src_test() {
|
||||
perl/polymake --script run_testcases --emacs-style \
|
||||
|| die "test suite failed"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "Additional features for polymake are available through external"
|
||||
elog "software such as sci-mathematics/4ti2 and sci-mathematics/topcom."
|
||||
elog "After installing new external software run 'polymake --reconfigure'."
|
||||
}
|
||||
Reference in New Issue
Block a user