sci-libs/coinor-cbc: new EAPI=7 version 2.10.5.
authorMichael Orlitzky <mjo@gentoo.org>
Thu, 7 May 2020 17:42:51 +0000 (13:42 -0400)
committerMichael Orlitzky <mjo@gentoo.org>
Fri, 8 May 2020 12:20:39 +0000 (08:20 -0400)
Standard version/EAPI update, documenting all of the now-familiar
coinor-* weirdness as I go along.

Package-Manager: Portage-2.3.89, Repoman-2.3.20
Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
sci-libs/coinor-cbc/Manifest
sci-libs/coinor-cbc/coinor-cbc-2.10.5.ebuild [new file with mode: 0644]
sci-libs/coinor-cbc/coinor-cbc-2.8.9.ebuild [deleted file]

index 6cc29d76341e54f526017d0e2349f3985e6a9416..6e22f002f646f5ed0f422f8c3b1bf9c02a6d1e91 100644 (file)
@@ -1 +1 @@
-DIST Cbc-2.8.9.tgz 8231882 BLAKE2B 1af837ae04fa129b605b00d91f80019d4d21148660fa64bd9ae8d7e928ba46508072d0f1e4ff70f30a0bb71f68b716b9d0cbc179900a9da3f58d5bf4fca545ba SHA512 ff537a46a8a266767817bc28d61f4541cfda6e8617c857fa0abef4c0b4ef8fbc728dd195645898d94130dfaedb258789bf55e189a0b9665590958355135f020e
+DIST coinor-cbc-2.10.5.tar.gz 1639188 BLAKE2B 92321f0fc0b6eedbb5ebd37cc44d7f10d91d272109474f5ec343e1648b2684dd5cf7002c05d0f72cada1636f9642503ac85165b23ba68caae906fdcad8bcd8f2 SHA512 114ee23ee6e53c337d17bc0930f62d4438e761115e0bf48a04b67732cd82f63dbcc51c3e5b8069bc99bd2e1197b5116ec0be0c2a0a897619c5b79bc1d1751a4e
diff --git a/sci-libs/coinor-cbc/coinor-cbc-2.10.5.ebuild b/sci-libs/coinor-cbc/coinor-cbc-2.10.5.ebuild
new file mode 100644 (file)
index 0000000..694d822
--- /dev/null
@@ -0,0 +1,81 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+MY_PN=Cbc
+
+DESCRIPTION="COIN-OR branch-and-cut mixed integer program solver"
+HOMEPAGE="https://github.com/coin-or/Cbc/"
+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/3"
+
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+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-doc/doxygen[dot] )
+       test? ( sci-libs/coinor-sample )"
+DEPEND="sci-libs/coinor-clp:=
+       sci-libs/coinor-cgl:=
+       sci-libs/coinor-dylp:=
+       sci-libs/coinor-osi:=
+       sci-libs/coinor-utils:=
+       sci-libs/coinor-vol:="
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_PN}-releases-${PV}/${MY_PN}"
+
+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
+
+       use examples && dodoc -r examples
+}
diff --git a/sci-libs/coinor-cbc/coinor-cbc-2.8.9.ebuild b/sci-libs/coinor-cbc/coinor-cbc-2.8.9.ebuild
deleted file mode 100644 (file)
index 14beedc..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit autotools-utils multilib flag-o-matic
-
-MYPN=Cbc
-
-DESCRIPTION="COIN-OR Branch-and-Cut Mixed Integer Programming Solver"
-HOMEPAGE="https://projects.coin-or.org/Cbc/"
-SRC_URI="http://www.coin-or.org/download/source/${MYPN}/${MYPN}-${PV}.tgz"
-
-LICENSE="EPL-1.0"
-SLOT="0/3"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="doc examples static-libs test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
-       sci-libs/coinor-clp:=
-       sci-libs/coinor-cgl:=
-       sci-libs/coinor-dylp:=
-       sci-libs/coinor-osi:=
-       sci-libs/coinor-utils:=
-       sci-libs/coinor-vol:="
-DEPEND="${RDEPEND}
-       virtual/pkgconfig
-       doc? ( app-doc/doxygen[dot] )
-       test? ( sci-libs/coinor-sample )"
-
-S="${WORKDIR}/${MYPN}-${PV}/${MYPN}"
-
-src_prepare() {
-       # needed for the --with-coin-instdir
-       dodir /usr
-       sed -i \
-               -e "s:lib/pkgconfig:$(get_libdir)/pkgconfig:g" \
-               configure || die
-       autotools-utils_src_prepare
-}
-
-src_configure() {
-       local myeconfargs=(
-               --enable-dependency-linking
-               --with-coin-instdir="${ED}"/usr
-               $(use_with doc dot)
-       )
-       autotools-utils_src_configure
-}
-
-src_compile() {
-       # hack for parallel build, to overcome not patching Makefile.am above
-       autotools-utils_src_compile -C src libCbc.la
-       autotools-utils_src_compile -C src libCbcSolver.la
-       autotools-utils_src_compile all $(usex doc doxydoc "")
-}
-
-src_test() {
-       autotools-utils_src_test test
-}
-
-src_install() {
-       use doc && HTML_DOC=("${BUILD_DIR}/doxydocs/html/")
-       # hack for parallel install, to overcome not patching Makefile.am above
-       autotools-utils_src_install -C src install-am
-       autotools-utils_src_install
-       # already installed
-       rm "${ED}"/usr/share/coin/doc/${MYPN}/{README,AUTHORS,LICENSE} || die
-       if use examples; then
-               insinto /usr/share/doc/${PF}
-               doins -r examples
-       fi
-}