dev-lang/yap: Fix dependency, QA error and update EAPI
authorBrian Evans <grknight@gentoo.org>
Fri, 8 Feb 2019 21:41:30 +0000 (16:41 -0500)
committerBrian Evans <grknight@gentoo.org>
Fri, 8 Feb 2019 21:41:30 +0000 (16:41 -0500)
Non-maintainer commit

Bug: https://bugs.gentoo.org/665872
Package-Manager: Portage-2.3.59, Repoman-2.3.12
Signed-off-by: Brian Evans <grknight@gentoo.org>
dev-lang/yap/yap-6.3.3-r1.ebuild [new file with mode: 0644]

diff --git a/dev-lang/yap/yap-6.3.3-r1.ebuild b/dev-lang/yap/yap-6.3.3-r1.ebuild
new file mode 100644 (file)
index 0000000..fd653ef
--- /dev/null
@@ -0,0 +1,124 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit flag-o-matic java-pkg-opt-2
+
+PATCHSET_VER="11"
+
+DESCRIPTION="YAP is a high-performance Prolog compiler"
+HOMEPAGE="http://www.dcc.fc.up.pt/~vsc/Yap/"
+SRC_URI="http://www.dcc.fc.up.pt/~vsc/Yap/${P}.tar.gz
+       mirror://gentoo/${P}-gentoo-patchset-${PATCHSET_VER}.tar.gz"
+
+LICENSE="Artistic LGPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="R debug doc examples gmp java mpi mysql odbc readline static threads"
+
+RDEPEND="sys-libs/zlib
+       gmp? ( dev-libs/gmp:0 )
+       java? ( >=virtual/jdk-1.4:= )
+       mpi? ( virtual/mpi )
+       mysql? ( dev-db/mysql-connector-c:0= )
+       odbc? ( dev-db/unixODBC )
+       readline? ( sys-libs/readline:= sys-libs/ncurses:= )
+       R? ( dev-lang/R )"
+
+DEPEND="${RDEPEND}
+       doc? ( app-text/texi2html )"
+
+PATCHES=( "${WORKDIR}"/${PV} )
+
+src_prepare() {
+       default
+       rm -rf "${S}"/yap || die "failed to remove yap xcode project"
+
+       # Fix QA error on doc location
+       local mFile
+       for mFile in Makefile.in packages/Dialect.defs.in \
+                       $(find packages -name Makefile.in) ; do
+               sed -i -e "s~doc/Yap~doc/${PF}~" "${mFile}" || die
+       done
+}
+
+src_configure() {
+       append-flags -fno-strict-aliasing
+
+       local myddas_conf
+       if use mysql || use odbc; then
+               myddas_conf="--enable-myddas"
+       else
+               myddas_conf="--disable-myddas"
+       fi
+       if use mysql; then
+               myddas_conf="$myddas_conf yap_with_mysql=yes"
+       fi
+       if use odbc; then
+               myddas_conf="$myddas_conf yap_with_odbc=yes"
+       fi
+
+       econf \
+               --libdir=/usr/$(get_libdir) \
+               --disable-prism \
+               --disable-gecode \
+               $(use_enable !static dynamic-loading) \
+               $(use_enable threads) \
+               $(use_enable threads pthread-locking) \
+               $(use_enable debug debug-yap) \
+               $(use_enable debug low-level-tracer) \
+               $(use_with gmp) \
+               $(use_with readline) \
+               $(use_with mpi) \
+               $(use_with mpi mpe) \
+               $(use_with java) \
+               $(use_with R) \
+               ${myddas_conf}
+}
+
+src_compile() {
+       default
+
+       if use doc ; then
+               emake html
+       fi
+}
+
+src_test() {
+       # libtai package contains check.c which confuses the default
+       # src_test() function
+       true
+}
+
+src_install() {
+       default
+
+       dodoc changes*.html README
+
+       if use doc ; then
+               dodoc yap.html
+       fi
+
+       if use examples ; then
+               insinto /usr/share/doc/${PF}/examples/chr
+               doins packages/chr/Examples/*
+               insinto /usr/share/doc/${PF}/examples/clib
+               doins packages/clib/demo/*
+               insinto /usr/share/doc/${PF}/examples/http
+               doins -r packages/http/examples/*
+               insinto /usr/share/doc/${PF}/examples/plunit
+               doins packages/plunit/examples/*
+               if use java ; then
+                       insinto /usr/share/doc/${PF}/examples/jpl/prolog
+                       doins packages/jpl/examples/prolog/*
+                       insinto /usr/share/doc/${PF}/examples/jpl/java
+                       doins packages/jpl/examples/java/README
+                       doins -r packages/jpl/examples/java/*/*.{java,pl}
+               fi
+               if use mpi ; then
+                       insinto /usr/share/doc/${PF}/examples/mpi
+                       doins library/mpi/examples/*.pl
+               fi
+       fi
+}