From a36cbeb1287c096d09464f527fd9ce6c4450155a Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Wed, 31 Mar 2021 08:57:15 -0400 Subject: sci-mathematics/glpk: don't install build artifacts with USE=examples. The build system for glpk automatically descends into the "examples" directory to build an example program. Afterwards, when we install the entire "examples" directory to honor USE=examples, we wind up installing the build artifacts for that program as well. This commit adds an extra "emake clean" to remove the build artifacts, and an "rm" to get rid of the (useless, to the end user) example Makefiles themselves. Closes: https://bugs.gentoo.org/779358 Reported-by: Alessandro Barbieri Package-Manager: Portage-3.0.13, Repoman-3.0.2 Signed-off-by: Michael Orlitzky --- sci-mathematics/glpk/glpk-5.0-r1.ebuild | 92 +++++++++++++++++++++++++++++++++ sci-mathematics/glpk/glpk-5.0.ebuild | 76 --------------------------- 2 files changed, 92 insertions(+), 76 deletions(-) create mode 100644 sci-mathematics/glpk/glpk-5.0-r1.ebuild delete mode 100644 sci-mathematics/glpk/glpk-5.0.ebuild (limited to 'sci-mathematics') diff --git a/sci-mathematics/glpk/glpk-5.0-r1.ebuild b/sci-mathematics/glpk/glpk-5.0-r1.ebuild new file mode 100644 index 000000000000..8bf55ceb4aa2 --- /dev/null +++ b/sci-mathematics/glpk/glpk-5.0-r1.ebuild @@ -0,0 +1,92 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +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 ~ppc ~ppc64 ~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 ) + odbc? ( + || ( + dev-db/libiodbc:0 + dev-db/unixODBC:0 + ) + )" +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 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 +} diff --git a/sci-mathematics/glpk/glpk-5.0.ebuild b/sci-mathematics/glpk/glpk-5.0.ebuild deleted file mode 100644 index c91cdf6a34ae..000000000000 --- a/sci-mathematics/glpk/glpk-5.0.ebuild +++ /dev/null @@ -1,76 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -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 ~ppc ~ppc64 ~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 ) - odbc? ( - || ( - dev-db/libiodbc:0 - dev-db/unixODBC:0 - ) - )" -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 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 - 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 -} -- cgit v1.2.3-65-gdbad