You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/dev-lang/yap/yap-6.3.3-r1.ebuild

126 lines
2.8 KiB

# 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="12"
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-chr \
--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
}