--- /dev/null
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils flag-o-matic java-pkg-opt-2 multilib
+
+PATCHSET_VER="0"
+
+DESCRIPTION="free, small, and standard compliant Prolog compiler"
+HOMEPAGE="http://www.swi-prolog.org/"
+SRC_URI="http://www.swi-prolog.org/download/devel/src/swipl-${PV}.tar.gz
+ mirror://gentoo/${P}-gentoo-patchset-${PATCHSET_VER}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+IUSE="archive berkdb debug doc +gmp hardened java minimal odbc +readline ssl static-libs test zlib X"
+
+RDEPEND="sys-libs/ncurses
+ archive? ( app-arch/libarchive )
+ berkdb? ( >=sys-libs/db-4 )
+ zlib? ( sys-libs/zlib )
+ odbc? ( dev-db/unixODBC )
+ readline? ( sys-libs/readline )
+ gmp? ( dev-libs/gmp )
+ ssl? ( dev-libs/openssl )
+ java? ( >=virtual/jdk-1.5 )
+ X? (
+ virtual/jpeg
+ x11-libs/libX11
+ x11-libs/libXft
+ x11-libs/libXpm
+ x11-libs/libXt
+ x11-libs/libICE
+ x11-libs/libSM )"
+
+DEPEND="${RDEPEND}
+ X? ( x11-proto/xproto )
+ java? ( test? ( =dev-java/junit-3.8* ) )"
+
+S="${WORKDIR}/swipl-${PV}"
+
+src_prepare() {
+ EPATCH_FORCE=yes
+ EPATCH_SUFFIX=patch
+ epatch "${WORKDIR}"/${PV}
+
+ # OSX/Intel ld doesn't like an archive without table of contents
+ sed -i -e 's/-cru/-scru/' packages/nlp/libstemmer_c/Makefile.pl || die
+}
+
+src_configure() {
+ append-flags -fno-strict-aliasing
+ use ppc && append-flags -mno-altivec
+ use hardened && append-flags -fno-unit-at-a-time
+ use debug && append-flags -DO_DEBUG
+
+ # ARCH is used in the configure script to figure out host and target
+ # specific stuff
+ export ARCH=${CHOST}
+
+ export CC_FOR_BUILD=$(tc-getBUILD_CC)
+
+ cd "${S}"/src || die
+ econf \
+ --libdir="${EPREFIX}"/usr/$(get_libdir) \
+ $(use_enable gmp) \
+ $(use_enable readline) \
+ $(use_enable static-libs static) \
+ --enable-shared \
+ --enable-custom-flags COFLAGS="${CFLAGS}"
+
+ if ! use minimal ; then
+ local jpltestconf
+ if use java && use test ; then
+ jpltestconf="--with-junit=$(java-config --classpath junit)"
+ fi
+
+ cd "${S}/packages" || die
+ econf \
+ --libdir="${EPREFIX}"/usr/$(get_libdir) \
+ $(use_with archive) \
+ $(use_with berkdb bdb ) \
+ $(use_with java jpl) \
+ ${jpltestconf} \
+ $(use_with odbc) \
+ $(use_with ssl) \
+ $(use_with X xpce) \
+ $(use_with zlib) \
+ COFLAGS='"${CFLAGS}"'
+ fi
+}
+
+src_compile() {
+ cd "${S}"/src || die
+ emake
+
+ if ! use minimal ; then
+ cd "${S}/packages" || die
+ emake
+ ./report-failed || die "Cannot report failed packages"
+ fi
+}
+
+src_test() {
+ cd "${S}/src" || die
+ emake check
+
+ if ! use minimal ; then
+ cd "${S}/packages" || die
+ emake check
+ ./report-failed || die "Cannot report failed packages"
+ fi
+}
+
+src_install() {
+ emake -C src DESTDIR="${D}" install
+
+ if ! use minimal ; then
+ emake -C packages DESTDIR="${D}" install
+ if use doc ; then
+ emake -C packages DESTDIR="${D}" html-install
+ fi
+ ./packages/report-failed || die "Cannot report failed packages"
+ fi
+
+ dodoc ReleaseNotes/relnotes-5.10 INSTALL README VERSION
+}