| # Copyright 1999-2015 Gentoo Foundation |
| # Distributed under the terms of the GNU General Public License v2 |
| # $Id$ |
| |
| EAPI="5" |
| |
| inherit base autotools pax-utils |
| |
| MY_P="${PN}.${PV}" |
| |
| DESCRIPTION="Poly/ML is a full implementation of Standard ML" |
| HOMEPAGE="http://www.polyml.org" |
| SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz" |
| |
| LICENSE="LGPL-2.1" |
| SLOT="0/${PV}" |
| KEYWORDS="~amd64 ~x86" |
| IUSE="X elibc_glibc +gmp portable test +threads" |
| |
| RDEPEND="X? ( x11-libs/motif:0 ) |
| gmp? ( >=dev-libs/gmp-5 ) |
| elibc_glibc? ( threads? ( >=sys-libs/glibc-2.13 ) ) |
| virtual/libffi" |
| DEPEND="${RDEPEND}" |
| |
| S=${WORKDIR}/${MY_P} |
| |
| PATCHES=( |
| # Bug 256679 - patch the assembler code. The remaining executable stacks in ./.libs/poly |
| # comes from the polyml generated ./polyexport.o file. |
| "${FILESDIR}/${PN}-5.5.0-asm.patch" |
| # http://sourceforge.net/p/polyml/code/1875/ for isabelle-2013.2 |
| "${FILESDIR}/${PN}-5.5.1-inputN-return-for-zero-chars.patch" |
| # http://sourceforge.net/p/polyml/code/1869/ |
| # Adds Test146.ML that fails, applying it anyway as it is required by |
| # sci-mathematics/isabelle-2013.2 |
| "${FILESDIR}/${PN}-5.5.1-optimize-closure.patch" |
| ) |
| |
| src_prepare() { |
| base_src_prepare |
| eautoreconf |
| if [ -f "${S}/Tests/Succeed/Test146.ML" ]; then |
| mv "${S}/Tests/Succeed/Test146.ML" "${S}/Tests/Succeed/Test146.ML.disable-test-as-it-fails" |
| fi |
| } |
| |
| src_configure() { |
| econf \ |
| --enable-shared \ |
| --disable-static \ |
| --with-system-libffi \ |
| $(use_with X x) \ |
| $(use_with gmp) \ |
| $(use_with portable) \ |
| $(use_with threads) |
| } |
| |
| src_compile() { |
| # Bug 453146 - dev-lang/polyml-5.5.0: fails to build (pax kernel?) |
| pushd libpolyml || die "Could not cd to libpolyml" |
| emake |
| popd |
| emake polyimport |
| pax-mark m "${S}/.libs/polyimport" |
| emake |
| pax-mark m "${S}/.libs/poly" |
| } |
| |
| src_test() { |
| emake tests || die "tests failed" |
| } |