From 16f2c13fa964bad248df33231fb2fff2a6b6e5ad Mon Sep 17 00:00:00 2001 From: Michael Palimaka Date: Thu, 29 Sep 2016 19:41:31 +1000 Subject: [PATCH] dev-libs/gecode: revision bump fixing numerous QA violations * Add missing dependencies * Avoid hard-coded CFLAGS * Do not install examples to system root * Install HTML documentation to the correct directory * Remove unused test USE flag * Do not allow sci-libs/mpir as a runtime alternative to sci-libs/mpir. This can only be selected at build time. * Force building libgecodegist.so against Qt 4 again. Careful consideration must be given to reverse dependencies before switching to Qt 5 due to the potential for symbol collisions and ABI breakage. Additionally, the existing approach is not valid because Qt versions are not interchangeable at runtime. Gentoo-bug: 488150 Gentoo-bug: 595442 Package-Manager: portage-2.3.1 --- .../files/gecode-4.4.0-no-examples.patch | 18 ++++ dev-libs/gecode/gecode-4.4.0-r1.ebuild | 82 +++++++++++++++++++ 2 files changed, 100 insertions(+) create mode 100644 dev-libs/gecode/files/gecode-4.4.0-no-examples.patch create mode 100644 dev-libs/gecode/gecode-4.4.0-r1.ebuild diff --git a/dev-libs/gecode/files/gecode-4.4.0-no-examples.patch b/dev-libs/gecode/files/gecode-4.4.0-no-examples.patch new file mode 100644 index 000000000000..26535667fa65 --- /dev/null +++ b/dev-libs/gecode/files/gecode-4.4.0-no-examples.patch @@ -0,0 +1,18 @@ +Avoid installing examples to system root. + +Patch from Fedora. + +Gentoo-bug: 488150 + +--- a/Makefile.in ++++ b/Makefile.in +@@ -953,8 +953,7 @@ + ALLGECODEHDR = \ + $(SUPPORTHDR) $(KERNELHDR) $(SEARCHHDR) \ + $(INTHDR) $(FLOATHDR) $(SETHDR) $(MMHDR) \ +- $(DRIVERHDR) $(ITERHDR) $(GISTHDR) $(FLATZINCHDR) \ +- $(INTEXAMPLEHDR) ++ $(DRIVERHDR) $(ITERHDR) $(GISTHDR) $(FLATZINCHDR) + ALLHDR = \ + $(ALLGECODEHDR) $(THIRDHDR) + ALLOBJ0 = $(ALLSRC:%.cpp=%$(OBJSUFFIX)) \ diff --git a/dev-libs/gecode/gecode-4.4.0-r1.ebuild b/dev-libs/gecode/gecode-4.4.0-r1.ebuild new file mode 100644 index 000000000000..f43e46bf7e63 --- /dev/null +++ b/dev-libs/gecode/gecode-4.4.0-r1.ebuild @@ -0,0 +1,82 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 + +inherit autotools qmake-utils + +DESCRIPTION="An environment for developing constraint-based applications" +HOMEPAGE="http://www.gecode.org/" +SRC_URI="http://www.gecode.org/download/${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="doc examples gist gmp" + +RDEPEND=" + gist? ( + dev-qt/qtcore:4 + dev-qt/qtgui:4 + ) + gmp? ( + dev-libs/gmp:0 + dev-libs/mpfr:0 + )" +DEPEND="${RDEPEND} + sys-devel/bison + sys-devel/flex + doc? ( + app-doc/doxygen + media-gfx/graphviz + )" + +PATCHES=( "${FILESDIR}/${PN}-4.4.0-no-examples.patch" ) + +src_prepare() { + default + + sed -i gecode.m4 \ + -e "s/-ggdb//" -e "s/-O3//" -e "s/-pipe//" \ + -e "/AC_CHECK_PROGS(QMAKE/a AC_SUBST(QMAKE,$(qt4_get_bindir)/qmake)" \ + -e "/AC_CHECK_PROGS(MOC/a AC_SUBST(MOC,$(qt4_get_bindir)/moc)" \ + || die + + eautoreconf +} + +src_configure() { + # --disable-examples prevents COMPILING the examples. + econf \ + --docdir="/usr/share/doc/${PF}" \ + --htmldir="/usr/share/doc/${PF}" \ + --disable-examples \ + $(use_enable doc doc-dot) \ + $(use_enable doc doc-tagfile) \ + $(use_enable gist qt) \ + $(use_enable gist) \ + $(use_enable gmp mpfr) +} + +src_compile() { + default + use doc && emake doc +} + +src_test() { + LD_LIBRARY_PATH="${S}" emake test + LD_LIBRARY_PATH="${S}" ./test/test || die "test suite failed" +} + +src_install() { + default + + # The --docdir and --htmldir that we pass to configure don't seem to + # be respected... + use doc && dodoc -r doc/html/ + + if use examples; then + dodoc -r examples + fi +} -- 2.26.2