summaryrefslogtreecommitdiff
path: root/sci-libs/coinor-vol
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-06-12 19:09:37 -0500
committerroot <root@alpha.trunkmasters.com>2026-06-12 19:09:37 -0500
commitb590c8d7572b727d565cc0b8ff660d43569845de (patch)
tree06f7a4102ea4e845df8b66660f252920d52952f9 /sci-libs/coinor-vol
parent24f9cbfc4c34fdb6a6e03311674414e881ceab47 (diff)
downloadbaldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.gz
baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.xz
baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.zip
Adding metadata
Diffstat (limited to 'sci-libs/coinor-vol')
-rw-r--r--sci-libs/coinor-vol/Manifest1
-rw-r--r--sci-libs/coinor-vol/coinor-vol-1.5.4.ebuild86
-rw-r--r--sci-libs/coinor-vol/files/coinor-vol-1.5.4-musl-1.2.3-null.patch24
-rw-r--r--sci-libs/coinor-vol/metadata.xml14
4 files changed, 125 insertions, 0 deletions
diff --git a/sci-libs/coinor-vol/Manifest b/sci-libs/coinor-vol/Manifest
new file mode 100644
index 000000000000..d3fe7651453c
--- /dev/null
+++ b/sci-libs/coinor-vol/Manifest
@@ -0,0 +1 @@
+DIST coinor-vol-1.5.4.tar.gz 983625 BLAKE2B b1c78f94d1232d773aa325227ac01ad469d3ff56571119ae95ddb9a34eb7d55d004111e81dc89bb4bae1b5754da29cd4e93983772e158afa131a4da0b187b03c SHA512 ba489b909dab45a9a48a32804a571fc9ad966b268ce8a81a391a743b523bce393bd649aaf15c51f401267fe05fb2ff7623a1f7208c0b9d6c24af9b659a230780
diff --git a/sci-libs/coinor-vol/coinor-vol-1.5.4.ebuild b/sci-libs/coinor-vol/coinor-vol-1.5.4.ebuild
new file mode 100644
index 000000000000..eaeec8171d1b
--- /dev/null
+++ b/sci-libs/coinor-vol/coinor-vol-1.5.4.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+MY_PN=Vol
+
+DESCRIPTION="COIN-OR volume algorithm linear program solver"
+HOMEPAGE="https://github.com/coin-or/Vol/"
+SRC_URI="https://github.com/coin-or/${MY_PN}/archive/releases/${PV}.tar.gz
+ -> ${P}.tar.gz"
+LICENSE="EPL-1.0"
+
+# major soname component
+SLOT="0/1"
+
+KEYWORDS="~amd64 ~loong ~riscv ~x86"
+IUSE="doc examples static-libs test"
+RESTRICT="!test? ( test )"
+
+# Fortran is NOT needed, but the ./configure scripts for all of the CoinOR
+# packages contain a check for it. Gentoo bug 601648 and upstream issue,
+#
+# https://github.com/coin-or/CoinUtils/issues/132
+#
+BDEPEND="virtual/fortran
+ virtual/pkgconfig
+ doc? ( app-text/doxygen[dot] )
+ test? ( sci-libs/coinor-sample )"
+
+DEPEND="sci-libs/coinor-osi:=
+ sci-libs/coinor-utils:="
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_PN}-releases-${PV}/${MY_PN}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-musl-1.2.3-null.patch
+)
+
+src_prepare() {
+ # Needed to make the --with-coin-instdir in src_configure happy.
+ dodir /usr
+
+ # They don't need to guess at this, but they do, and get it wrong...
+ sed -e "s:lib/pkgconfig:$(get_libdir)/pkgconfig:g" \
+ -i configure \
+ || die "failed to fix the pkgconfig path in ${S}/configure"
+
+ default
+}
+
+src_configure() {
+ local myeconfargs=(
+ --enable-dependency-linking
+ --with-coin-instdir="${ED}/usr"
+ $(use_with doc dot)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ emake all $(usex doc doxydoc "")
+}
+
+src_test() {
+ # NOT redundant! The build system has a "make check" target that does
+ # nothing, so if you don't specify "test" here, you'll get a no-op.
+ emake test
+}
+
+src_install() {
+ use doc && HTML_DOC=("${BUILD_DIR}/doxydocs/html/")
+
+ emake DESTDIR="${D}" install
+
+ # Duplicate junk, and in the wrong location.
+ rm -r "${ED}/usr/share/coin/doc/${MY_PN}" || die
+
+ # Portage still throws a warning for these, but it's a bug
+ # as far as I can tell: https://bugs.gentoo.org/721516
+ docompress -x "/usr/share/doc/${PF}/examples/Volume-LP/data.mps.gz"
+ docompress -x "/usr/share/doc/${PF}/examples/VolUfl/data.gz"
+ use examples && dodoc -r examples
+}
diff --git a/sci-libs/coinor-vol/files/coinor-vol-1.5.4-musl-1.2.3-null.patch b/sci-libs/coinor-vol/files/coinor-vol-1.5.4-musl-1.2.3-null.patch
new file mode 100644
index 000000000000..96a154740ed4
--- /dev/null
+++ b/sci-libs/coinor-vol/files/coinor-vol-1.5.4-musl-1.2.3-null.patch
@@ -0,0 +1,24 @@
+https://bugs.gentoo.org/841746
+https://github.com/coin-or/Vol/commit/7b65983cfbf66f9a615c1babcc28a7cd87eee3c4
+
+From: Stefan Vigerske <svigerske@gams.com>
+Date: Sat, 1 Feb 2020 17:45:41 +0000
+Subject: [PATCH] there should be no need to cast NULL, closes #1
+
+--- a/src/OsiVol/OsiVolSolverInterfaceIO.cpp
++++ b/src/OsiVol/OsiVolSolverInterfaceIO.cpp
+@@ -423,10 +423,10 @@ OsiVolSolverInterface::writeMps(const char *filename,
+ writer.setMpsData(*getMatrixByCol(), getInfinity(),
+ getColLower(), getColUpper(),
+ getObjCoefficients(),
+- reinterpret_cast<const char *> (NULL) /*integrality*/,
++ NULL /*integrality*/,
+ getRowLower(), getRowUpper(),
+- reinterpret_cast<const char **> (NULL) /*colnam*/,
+- reinterpret_cast<const char **> (NULL) /*rownam*/);
++ NULL /*colnam*/,
++ NULL /*rownam*/);
+ std::string fname = filename;
+ if (extension)
+ { if (extension[0] != '\0' && extension[0] != '.')
+
diff --git a/sci-libs/coinor-vol/metadata.xml b/sci-libs/coinor-vol/metadata.xml
new file mode 100644
index 000000000000..70a09e891c56
--- /dev/null
+++ b/sci-libs/coinor-vol/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <longdescription lang="en">
+ Volume Algorithm is part of COIN-OR (COmputational INfrastructure
+ for Operations Research) project. Vol is an implementation of a
+ subgradient method that produces primal as well as dual solutions.
+ </longdescription>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>