summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Orlitzky <mjo@gentoo.org>2024-01-10 13:14:44 -0500
committerMichael Orlitzky <mjo@gentoo.org>2024-01-10 13:15:58 -0500
commit0611fccf617f3869fc6b3b88358e2280dfd27b74 (patch)
tree21c1f473f49f241f8a3a659fd4b87db4c0d1d210 /sci-mathematics/glpk
parentsys-kernel/gentoo-sources: add 6.6.11, drop redundant patch (diff)
downloadgentoo-0611fccf617f3869fc6b3b88358e2280dfd27b74.tar.gz
gentoo-0611fccf617f3869fc6b3b88358e2280dfd27b74.tar.bz2
gentoo-0611fccf617f3869fc6b3b88358e2280dfd27b74.zip
sci-mathematics/glpk: update EAPI 7 -> 8, add libltdl dep
With USE=mysql or USE=odbc, dev-libs/libltdl is required (per INSTALL). Closes: https://bugs.gentoo.org/921718 Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
Diffstat (limited to 'sci-mathematics/glpk')
-rw-r--r--sci-mathematics/glpk/glpk-5.0-r2.ebuild96
1 files changed, 96 insertions, 0 deletions
diff --git a/sci-mathematics/glpk/glpk-5.0-r2.ebuild b/sci-mathematics/glpk/glpk-5.0-r2.ebuild
new file mode 100644
index 000000000000..ccc0e863233f
--- /dev/null
+++ b/sci-mathematics/glpk/glpk-5.0-r2.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic toolchain-funcs
+
+DESCRIPTION="GNU Linear Programming Kit"
+HOMEPAGE="https://www.gnu.org/software/glpk/"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0/40"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples gmp odbc mysql"
+
+BDEPEND="virtual/pkgconfig"
+DEPEND="
+ sci-libs/amd:0=
+ sci-libs/colamd:=
+ sys-libs/zlib:0=
+ gmp? ( dev-libs/gmp:0= )
+ mysql? (
+ dev-db/mysql-connector-c
+ dev-libs/libltdl
+ )
+ odbc? (
+ || (
+ dev-db/libiodbc:0
+ dev-db/unixODBC:0
+ )
+ dev-libs/libltdl
+ )"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.65-fix-mysql-include-prefix.patch
+ "${FILESDIR}"/${PN}-4.65-debundle-system-libs.patch
+)
+
+src_prepare() {
+ # TODO: the ODBC library is dlopen()ed, so we only want to append
+ # -I<foo> to the preprocessor flags, and not all of the CFLAGS that
+ # were used to build libiodbc. That fix and the pkg-config fallback
+ # should be sent upstream, and placed into CPPFLAGS rather than
+ # CFLAGS (as configure.ac does now).
+ use odbc && [[ -z $(type -P odbc_config) ]] && \
+ append-cppflags $($(tc-getPKG_CONFIG) --cflags libiodbc)
+
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ local myconf
+ if use mysql || use odbc; then
+ myconf="--enable-dl"
+ else
+ myconf="--disable-dl"
+ fi
+
+ econf ${myconf} \
+ --disable-static \
+ $(use_enable mysql) \
+ $(use_enable odbc) \
+ $(use_with gmp)
+}
+
+src_install() {
+ default
+
+ if use examples; then
+ # The top-level Makefile descends into the "examples" directory
+ # unconditionally, building a program and excreting build
+ # artifacts that we don't want to install. Note: this still
+ # leaves the example program /usr/bin/glpsol installed. An
+ # additional "emake ... uninstall" could probably take care
+ # of that if desired.
+ emake -C examples clean
+
+ # Installing the Makefiles for the examples does the user no
+ # good without the top-level Makefile.
+ rm examples/Makefile{.in,.am,} \
+ || die "failed to remove example Makefiles"
+
+ insinto "/usr/share/doc/${PF}"
+ doins -r examples
+ docompress -x "/usr/share/doc/${PF}/examples"
+ fi
+
+ use doc && dodoc doc/*.pdf doc/notes/*.pdf doc/*.txt
+
+ # no static archives
+ find "${D}" -name '*.la' -delete || die
+}